我有一个函数的API,它将***int
作为参数。
void APIfunc(int ***in_variable)
我写了一个新函数,我必须使用这个APIfunc
。
我想在我的函数中使用本地int
(而不是int***
),但我想将其传递给APIfunc
(获得int****
)。< / p>
我该怎么做?
答案 0 :(得分:0)
仅依靠语法,
int foo;
int *bar = &foo;
int **bar2 = &bar;
APIfunc(&bar2);
但是,只需阅读功能文档。如果令人难以置信的是它需要如此深的指针链才能修改单个值;必须是更复杂的东西。
答案 1 :(得分:0)
调用函数的方式取决于它是分配内存还是仅访问内存。
案例:它分配内存
由于它似乎没有关于对象大小的参数,对象的类型,对象的数量,它是否承担它们?在这种情况下,您需要这样调用它:
int** in_variable;
APIfunc(&in_variable);
案例:它刚刚访问记忆
您必须在某处分配数据。你需要这样称呼它:
int*** in_variable;
// Allocate memory and fill up the data
// ...
// Call the function
APIfunc(in_variable);
希望为您澄清一些事情。