关于指针的问题

时间:2014-03-31 05:42:47

标签: c pointers

我有一个函数的API,它将***int作为参数。

void APIfunc(int ***in_variable)

我写了一个新函数,我必须使用这个APIfunc

我想在我的函数中使用本地int(而不是int***),但我想将其传递给APIfunc(获得int****)。< / p>

我该怎么做?

2 个答案:

答案 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);

希望为您澄清一些事情。