需要声明指针来保存整数数组的地址

时间:2017-11-25 18:32:11

标签: c arrays linux pointers linux-kernel

为了更准确地理解,请参阅以下说明。

int arr[3];

现在,以这样的方式编写一个声明,xyz = &arr;编译器不应该发出警告。

如何声明xyz

对于以下代码,

int main(void)
{

int arr[3];
int *p;
int **pp;

p = arr;
pp = &arr;

return 0;
}

WARNING:
t.c: In function ‘main’:
t.c:11:4: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
     pp = &arr;
    ^

目标:需要声明xyz = &arr,不应该发出警告。

1 个答案:

答案 0 :(得分:3)

int (*xyz)[3]

指向3个int元素数组的指针。

FYI int**int (*)[3]不一样。