C语言中二维数组名能否直接赋给指针变量

如题所述

二维数组的指针与指针的指针是不一样的。
所以
int **ppr;
int fool[2][3];

ppr = fool;
这样是不行的。
二维数组的指针必须限定第一维的大小。
所以:
int (*ppr)[3];

ppr = fool;
这样才可以。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-06
可以,但所声明的指针类型是指向指针的指针如:
int a[3][3];
int** array_ptr=a;本回答被提问者采纳
第2个回答  2012-03-03
可以,二维数组名本身就是表示一个数组的首地址。
第3个回答  2012-03-03
可以,数组名是数组首元素的地址
第4个回答  2012-03-03
可以,例如a[],*p=a
相似回答