为了更准确地理解,请参阅以下说明。
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
,不应该发出警告。
答案 0 :(得分:3)
int (*xyz)[3]
指向3个int
元素数组的指针。
FYI int**
和int (*)[3]
不一样。