Pointers 如何修改作为变量参数列表一部分传递的指针?
我有一个函数,它接受可变数量的指针,我想修改它。它看起来像:Pointers 如何修改作为变量参数列表一部分传递的指针?,pointers,memory-management,cuda,variadic-functions,Pointers,Memory Management,Cuda,Variadic Functions,我有一个函数,它接受可变数量的指针,我想修改它。它看起来像: void myPointerModifyingFunction (int num_args, ... ) { void *gpu_pointer; char mem_type; va_list vl; va_start(vl,num_args); for (int i=0;i<num_args;i++) { gpu_pointer=va_arg(vl,void*);
void myPointerModifyingFunction (int num_args, ... ) {
void *gpu_pointer;
char mem_type;
va_list vl;
va_start(vl,num_args);
for (int i=0;i<num_args;i++) {
gpu_pointer=va_arg(vl,void*);
gpu_pointer = CUT_Malloc(100);
}
}
void myPointerModifyingFunction(int num_args,…){
void*gpu\U指针;
char-mem_型;
va_列表vl;
va_开始(vl、num_参数);
对于(int i=0;i您传递给函数的指针成为参数值,即存储在函数堆栈(模结构)上,即类似于局部变量。您可能需要双指针,类似于va_arg(vl,void**)
,并将其称为myPointerModifyingFunction(2,&ptr0,&ptr1);
希望这能有所帮助。注意,传递到此函数的所有指针最初都是指向指针的NULL initialisedPass指针。