typedef 二维数组指针问题



int num[3][4] = {{1,1,1,1},{2,2,2,2},{3,3,3,3}};
typedef int array[3][4];
array p = num;

error C2075: 'p' : array initialization needs curly braces
为啥以上代码会报错呢,难道typedef后,array不是代表三行四列整型数组的指针类型吗??

6 个解决方案

#1


typedef int (*array)[4];

#2


注意是指向数组(一维)的指针
定义为 int (*array)[4];
所以不能按lz的定义

#3


顶楼上

#4


用 int *p 也行,处理一下 下标 就行!
或者
typedef  int (*array)[4];
array p;

#5


谁告诉你数组间是不可以相互赋值的

#6


引用 5 楼 pengzhixi 的回复:
谁告诉你数组间是可以相互赋值的


打错了,不好意思。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: