示例代码如下:
-
int a[5]={1,2,3,4,5};
-
int (*p)[5]= a;
产生编译告警warning: initialization from incompatible pointer type
代码修改如下后告警消失
-
int a[5]={1,2,3,4,5};
-
int (*p)[5]= &a;
原因:
尽管a 和&a的值是一样的,都是数组的首地址,但是类型不一样:
a作为地址是 int *类型的,
&a地址是int (*)[5]类型的,
并且p也是int (*)[5]类型的
阅读(6021) | 评论(0) | 转发(0) |