一、一维数组的创建和初始化
1、数组创建方式
![](https://i-blog.csdnimg.cn/blog_migrate/5fb7411088af663aa1f63c453118c40b.png)
2、数组的初始化
3、数组的使用
4、一维数组在内存中的存储
1、数组在内存中是连续存放的
2、随着数组下标的增长,地址由低到高变化
这里可以看出数组是连续存放的
二、二维数组的创建和初始化
1、二维数组的创建
2、二维数组的初始化
3、二维数组的使用
4、二维数组在内存中的存储
说明二位数组在内存中也是连续存放的,换行也是连续的
三、数组越界
数组的下标是有范围限制的。
数组的下规定是从
0
开始的,如果数组有
n
个元素,最后一个元素的下标就是
n-1。
所以数组的下标如果小于
0
,或者大于
n-1,就是数组越界访问了,超出了数组合法空间的访问。
C语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错,并不意味着程序就是正确的。
四、数组作为函数参数
1、冒泡排序
2、数组名
数组名是数组首元素的地址,但是有两个例外
1、sizeof(数组名)—数组名表示整个数组—计算的是整个数组的大小,单位是字节
2、&数组名—数组名表示整个数组—取出的是整个数组的地址
![](https://i-blog.csdnimg.cn/blog_migrate/43ce6b3aa2cc2b60a280fe0179d111d1.png)
数组的地址与数组首元素地址相同,但本质上是不同的