1,数组可以存放多个同一类型数据,数组也是一种数据类型,是构造类型,传递是以引用的方式传递(即传递的是地址)
2,数组的定义
数据类型 数组名 【数组大小】
int a[5]
赋初值 a[0]=1 a[1]=3 .....
3,数组内存图:
①数组名[0] 就代表 该数组的首地址,即 a[0]地址
②数组的各个元素是连续分布的,假如
a[0] 地址 0x1122
a[1] 地址 = a[0] 地址 + int字节数(4)=0x1122 +4=0x1126
a[2] 地址 = a[1] 地址 + int字节数(4)
a[3] 地址 = a[2] 地址 + int字节数(4)
a[4] 地址 = a[3] 地址 + int字节数(4)
③访问数组元素,
数组名【下标】,下标从0开始计算
4,3中初始化数组的方式:
①int arr [3] ;
arr[0]=1;
arr[1]=3;
arr[2]=6;
② int arr [3]= {1,3,6} ;
③ int arr[ ] = { 1,3,6} ;
5,①数组是多个相同数据类型的组合,一个数组一旦定义了/声明了,其长度是固定的,不能动态变化
②数组创建后,如果没有赋值,则遵守如下规则:
全局数组默认值 0
非全局数组初值是机器垃圾直=值(即:原来系统分配给这块空间的值)
③使用数组的步骤 定义数组 给数组各个元素赋值 使用数组,也可以一步到位
④数组的下标是从0开始的
⑤数组下标必须在指定范围内使用,若越界,编译通过,在运行时会因为数组越界而异常中断
⑥C的数组属于构造类型,是引用传递(传递的是地址),因此当把一个数组传递给一个函数或者变量时,函数 / 变量操作数组会影响到原数组。
内存布局图: