【发布时间】:2018-11-23 23:39:30
【问题描述】:
我编写了以下代码,声明了一个由 5 个指向 int 的指针组成的数组,然后是一个指向上述数组地址的指针:
int* arr[5];
int** p=&arr;
在使用 gcc 编译时,我收到以下警告:
从不兼容的指针类型初始化 [-Wincompatible-pointer-types] int** p=&arr;
为什么int** p是错误的指针类型,&arr不是指向int的指针吗?
非常感谢。
【问题讨论】:
-
你可能被告知数组是伪装的指针。你被告知过于简单化了。数组不是指针。