c语言大神进:再问你个问题,麻烦下下 对于二维数组来说,a[i]与&a[i]等价,
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 09:09:07
c语言大神进:再问你个问题,麻烦下下 对于二维数组来说,a[i]与&a[i]等价,
c语言大神进:
再问你个问题,麻烦下下
对于二维数组来说,a[i]与&a[i]等价,而a+i等价于&a[i],*(a+i)等价于a[i],那么是不是可以说:*(a+i)等价于a[i]等价于&a[i]等价于a+i呢?
c语言大神进:
再问你个问题,麻烦下下
对于二维数组来说,a[i]与&a[i]等价,而a+i等价于&a[i],*(a+i)等价于a[i],那么是不是可以说:*(a+i)等价于a[i]等价于&a[i]等价于a+i呢?
a[i]与&a[i]等价? 不对啊,两者类型完全不同,一个是int* 一个是 int*[10],只能说两者指向的地址一样.
后面的也都是同样的,不同的类型,同样的地址.
int a[10][10];
if (a[1] == &a[1])
printf("ok\n");
这样是编译不过的.
int a[10][10];
if ((void*)a[1] == (void*)&a[1])
printf("ok\n");
这样是能够返回ok的
再问: 能不能说具体下,不好意思,我是小白,a[i]和&a[i]分别是什么类型呢?
再问: int*[10]什么意思呢?-_-|||
再问: int*[10]是不是涉及到指针数组啊?
再答: a[i]就是一个int的指针,就是int*; &a[i]是一个指向int[]的指针,本质上是一个二维指针,就是int**
再问: 哦哦,谢谢啊
后面的也都是同样的,不同的类型,同样的地址.
int a[10][10];
if (a[1] == &a[1])
printf("ok\n");
这样是编译不过的.
int a[10][10];
if ((void*)a[1] == (void*)&a[1])
printf("ok\n");
这样是能够返回ok的
再问: 能不能说具体下,不好意思,我是小白,a[i]和&a[i]分别是什么类型呢?
再问: int*[10]什么意思呢?-_-|||
再问: int*[10]是不是涉及到指针数组啊?
再答: a[i]就是一个int的指针,就是int*; &a[i]是一个指向int[]的指针,本质上是一个二维指针,就是int**
再问: 哦哦,谢谢啊
c语言大神进:再问你个问题,麻烦下下 对于二维数组来说,a[i]与&a[i]等价,
C语言二维数组a[i][j],为什么a[1]和*(a+1)等价啊?*(a+1)为什么会是一个地址?弄糊涂了,
C语言 二维数组问题 a[i][j]中 i是列数,j是行数,那么a[0][1]又是怎么理解?
C语言中二维数组a[i][j]中,a+i=*(a+i)=a[i]=&a[i]是怎么理解的.
一道C语言的题.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为?
c语言二维数组的问题,
C语言二维数组生成矩阵问题
C语言二维数组名的问题
二维数组a有n列,a【i】【j】前的元素有多少个?
C语言中 二维数组@a[i][j]的地址为什么可以表示成*(a+i)+j难道*(a+i)还表示一个地址的值?求高手详细解
C语言将二维数组A的行和列元素互换,存到二维数组B中
C语言计算数组中任一元素a[i][j]在数组中位置的公式