数组是大多数编程语言的重头戏,数组的存储大多离不开数组,所以数组常用写法的具体含义就显得尤为重要.
一维数组:
int a[]={1,2,3,4,5,6};
存储结构:

常用的表示方法:
(1)a:数组名表示数组首元素的地址&a[0],视为指针int*
(2)a+1或者*(a+1):指针指向的地址后移一个单元格,保存&a[1],视为指针int*
(3)a[0]:数组的第一个元素,视为int
二维数组:
int a[][3]={1,2,3,4,5,6};存储结构:

常用表示方法:
(1)a:在二维数组中我们就不能说它是指向数组元素的首地址,因为这个首元素的说法显然是不合理的,所以我们以行为基准把一行看成一个元素:
a[0][0]=1此时保存的是这一行元素的地址,也就是指向一维数组的指针int(*p)[3],也称数组指针.
a+1:这个加一操作还是以行为基准,直接下移一行,保存下一行元素的地址,即数组指针int(*(p+1))[3].
a[1]1[0]=4a[0]:第一行的元素,是一个一维数组也是整形指针
a[0]+1:在a[0]的基础上后移一个单元格,指向该元素,整形指针.
a[0][0]:一个确切的整形数据
本文详细介绍了编程中一维和二维数组的存储结构及其表示方法。对于一维数组,通过数组名、指针运算和下标访问等概念进行了阐述;对于二维数组,则解释了其特殊之处在于行作为基本单位,并探讨了指向一维数组的指针。
1256

被折叠的 条评论
为什么被折叠?



