我有一个函数的API获取***int
作为参数。关于指针的问题
void APIfunc(int ***in_variable)
我写了一个新函数,我必须用这个APIfunc
。
我想用我的函数的局部int
(而不是int***
),但我想它传递给APIfunc
(即获得int****
)。
我该怎么办?
我有一个函数的API获取***int
作为参数。关于指针的问题
void APIfunc(int ***in_variable)
我写了一个新函数,我必须用这个APIfunc
。
我想用我的函数的局部int
(而不是int***
),但我想它传递给APIfunc
(即获得int****
)。
我该怎么办?
你调用函数的方式取决于它是分配内存还是只访问内存。
案例:分配内存
因为它似乎不具备有关对象的大小,对象的类型,对象数量的参数,它承担呢?在这种情况下,你需要这样来调用它:
int** in_variable;
APIfunc(&in_variable);
案例:它只是访问您一定是什么地方分配数据的内存
。你需要这样称呼它:
int*** in_variable;
// Allocate memory and fill up the data
// ...
// Call the function
APIfunc(in_variable);
希望澄清一些事情给你。
只在语法依托,
int foo;
int *bar = &foo;
int **bar2 = &bar;
APIfunc(&bar2);
然而,刚读函数文档。如果令人难以置信的是它需要如此深的指针链来修改单个值;必须是更复杂的东西。
你确定这是指针指向int指针的指针,因为你希望使用本地int作为参数建议吗?或者可能是某事。像ponter int [] []? – Drunix
太模糊,没有足够的信息来说明你在做什么。 –