读书人

ubuntu下数组指针的赋值有关问题

发布时间: 2013-06-25 23:45:41 作者: rapoo

ubuntu下,数组指针的赋值问题
char (p1)[3];
char a1[2][3] = {{'2','3','4'},{'5','6','7'}};
p1 = a1;
如果写成 p1 = &a2;的话就会报“ warning: assignment from incompatible pointer type [enabled by default]”


int a2[4]={1,2,3,4};
int (*p2)[4];
p2 = &a2;
如果写成 p2 = a2;的话就会报“ warning: assignment from incompatible pointer type [enabled by default]”

这是为什么呢?? 指针
[解决办法]
&a1的类型是 char (*)[2][3]和p1的char (*)[3]不匹配。

a2的类型是int *,和p2的int (*)[4]不匹配。

读书人网 >C语言

热点推荐