一维数组p1 二维数组p2
比较p1和*p1
再比较p2和*p2和**p2
一维数组和二维数组的一级指针
答案:2 悬赏:20 手机版
解决时间 2021-02-12 15:53
- 提问者网友:蔚蓝的太阳
- 2021-02-11 16:15
最佳答案
- 五星知识达人网友:过活
- 2021-02-11 17:24
直接举个例子:
int p1[10];
int p2[10][10];
p1 是就相当于&p1[0],*p1就相当于p1[0];
二维数组在c/c++就相当于一维数组的数组
所以 p2 相当于&p2[0], *p2相当于&p2[0][0], 这时p2与*p2相等,**p2就相当于p2[0][0].
int p1[10];
int p2[10][10];
p1 是就相当于&p1[0],*p1就相当于p1[0];
二维数组在c/c++就相当于一维数组的数组
所以 p2 相当于&p2[0], *p2相当于&p2[0][0], 这时p2与*p2相等,**p2就相当于p2[0][0].
全部回答
- 1楼网友:洎扰庸人
- 2021-02-11 18:06
为什么很多人都认为二维指针和二维数组等价呢,我以前学c时没看到过这话啊. c语言中数组名相当于一个一级指针,比如int a[5];a就等价于int *. 而二维数组int a[m][n]本质上是长度为m的一维数组,其数组元素是长度为n的一维int数组,因此二维数组的数组名就等价于"长度为n的一维数组类型的指针",即(int *)[n],而不是int **
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯