二维数组中a是什么意思

如题所述

在C语言中规定,数组名代表的是数组首元素地址。
如有定义int a[10][100];

a表示二维数组的数组名。

a也是这个数组的首地址。
因此,在二维数组中*(a+i)表示的是第i+1行0列元素的地址,即a[i][0]的地址。而a+i表示的是第i+1行的首地址。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-01
一般二维数组在内存中是按行存的 ,比如定义 int arr[3][3] = {1,2,3,4,5,6,7,8,9}; 三行三列的一个数组。arr[0][0]的值为1;arrp[2][0]值为4。而arr就相当于一个二级指针,*arr就是取出第一行的一个数字的地址,arr[1]就是取出第二行的第一个数字的地址,它等价于(*arr +3)。(*arr + 5)就是取数组第二行的第三个数字的地址。即(*arr +5)就是数据6的地址,再做*运算*(*arr+5) 就是取出数据6。追问

怎么做

本回答被提问者和网友采纳
第2个回答  2014-12-12
a是个地址,就是这个数组的首地址,也是这个数组的变量名称追问

那么a+1,*(a+1)有什么区别

第3个回答  2014-12-12
a是地址常量,今天刚学到的,哈哈追问

我也是不久前刚学到的,a+1呢

第4个回答  2014-12-12
不明白楼主想说什么,把二维数组的内容给贴过来看看便得知追问

就是二维数组a[3][4],那么a是什么

相似回答