这是错误的认识。在C语言中,若a声明为二维数组,则a[0]所代表的是一个地址,指向a[0][0]处,而不是元素。
数组下标从0开始的,即(0,0)是第一行第一个数,(0,1)是第一行第二个数(1,0)是第二行第一个数
第0行第0列。在c语言中数组名就是其首元素的地址,二维数组a[0][0]就表示第0行第0列。二维数组其实就是每一个元素为一维数组的数组。
【答案】:一位数组组名 解析:int a[3][4],表示的是三个一位数组,表示的是3行四列的表格,可以把每一行看成一个一位数组,这样就容易理解了。所以a[0]可以看成是第一行第一列的元素,即第一行的首地址,即为一个一维数组名。
&a[0][0]表示的是这个二维数组第一维第一个元素的地址。这三个地址是相同的。就好像一个班的位置,第一个位置,和第一排的第一个位置,以及第一排一号的位置指的是同一个位置一样。但是*a表示第一维首地址 a表示第一维首地址所保存的元素 (&a[0])表示的也是第一维首地址 (&a[0])表示...
第1行第二列,数组下标是从0开始的
二维数组元素的地址二维数组元素的地址可以由表达式&a[i][j]求得;也可以通过每行的首地址来表示.以上二维数组a中,每个元素的地址可以通过每行的首地址:a[0]、a[1]、a[2]等来表示.如:地址&a[0][0]可以用a[0]+0来表示,地址&a[0][1]可以用a[0]+1表示;若0≤i<3、0≤j<4,则a[i][j]的...
于是a的值就是首地址的值。而*a,就是a[0],a[0]是第一行的标记,代表第一行的首地址。在二维数组中,所有元素都是紧密排列的,这样整个数组的首地址,第一行的首地址,和第一个元素的首地址,即a, a[0], &a[0][0] 都是相同的。于是a和*a的值是相同的。 13分享举报...
在C语言中规定,数组名代表的是数组首元素地址。如有定义int a[10][100];a表示二维数组的数组名。a也是这个数组的首地址。因此,在二维数组中*(a+i)表示的是第i+1行0列元素的地址,即a[i][0]的地址。而a+i表示的是第i+1行的首地址。 00分享举报您...