1. 数组的意义
相同数据类型的集合
特点:开辟空间的地址是连续的
2. 定义
数组名就是数组的首地址(第一个元素的地址)
注意:不能先定义后初始化
例:int a[10];
a = {‘a’,’b’,’c’}; 这是错误的
3. 字符数组和字符串数组的比较
字符数组的大小由数组长度决定
字符串数组的大小由由后面初始化的内容长度决定
字符串数组有一个隐藏结束标志--’\0’
string.h中的一些操作字符串的函数 strlen 、strcat、strcpy
4. 二维数组
数组的本质:类似于指针
int a[3];
访问a[1]的元素
*(a+1) 等效于 a[1]
二维数组的本质:类似于二级指针
![](https://i-blog.csdnimg.cn/blog_migrate/feef422a7c2f685569b3fc7e25e5ef38.png)
5. 冒泡排序
从小到大:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。
至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。