二维数组与指针的指针有何区别
发布网友
发布时间:2024-03-04 16:02
我来回答
共2个回答
热心网友
时间:2024-03-05 23:03
最大的区别是数组不能被直接赋值,比如二维数组a[3][3],b[3],你不能这样赋值:a[0]=b;
但指针可以。
其次,就像一楼说的,数组一开始就被分配特定空间,指针值赋予一个地址。
最后,数组分配的是一段连续的空间,int a[3][3]则a[0][0],a[0][1],a[0][2],a[1][0]...a[2][2]是一段连续的,数组a的首地址跟它的成员是连在一起的(至少间距一定),而指针int *p=a[0],p的地址不一定跟a[0]相邻。
推荐一本书《[你必须知道的495个C语言问题]人民邮电出版社》
热心网友
时间:2024-03-05 23:04
二维数组在定义时已经有了空间,
指针的指针,仅为指针申请了空间。