【发布时间】:2014-11-20 22:41:54
【问题描述】:
我是 C 编程新手,这几天一直在寻找这个问题...
int arr[][2]={11,22,33,44,55,66};
int (*ptr)[2]=&arr[1]; //line a
int (*ptr1)[2]=arr[1]; //line b
对于 (a) 行,编译器没有问题,但对于 (b) 行,它给出 ERROR-cant convert int* to int[2]*
现在&arr[1] 和arr[1] 的大小相同(当我签入 sizeof 运算符时)。
所以请帮助我了解到底发生了什么? arr[1] 和 &arr[1] 有什么区别?谢谢!
【问题讨论】:
-
看这里,应该有帮助:stackoverflow.com/questions/2094666/…