二维数组中第i行的起始地址与第i行0列元素的地址区别

只是地址值一样,名字不一样吗?
2024-12-30 19:26:48
推荐回答(4个)
回答1:

值一样但是地址是不一样的。
解释:对于 array[i][j]这样一个二维数组,array[i]与&array[i][0]的值是一样的。但是array[i]本身就是一个地址,而array[i][0]是数组i+1行的元素,对其取地址的话,还要使用&符。所以地址并非同一个的。

回答2:

不一样
例如数组为a[9][9]
a表示整个数组的起始地址,
a+i表示数组第i+1行的起始地址。
而&a[0][0]表示第一行首地址
&a[0][0]+1表示a[0][1]的地址了

系统可以辨别他们的类型,所以在加减时移动单位是不同的~~

回答3:

对于 a[i][j]这样一个二维数组,a[i]与&a[i][0]的值是一样的。但是a[i]本身就是一个地址,而a[i][0]是数组的元素,对其取地址的话,还要使用&。

回答4:

类型不同。
以int a[5][5]为例,a[3]是第4行元素的起始地址,类型与变量int *p[5]相同
a[3][0]的地址类型与int *p相同。一个是指向一维数组的指针,一个是指向整型变量的指针。