数组
数组是一组相同类型元素的集合,数组在内存中是连续存放的
一维数组
数组创建的语法形式
数组的元素类型 数组名[数组大小]
int arr[10]
数组的初始化
int arr[10]={1,2,3};//不完全初始化,前三个元素为1 2 3,剩余的元素默认初始化为0;
int arr[10]="abc";//前四个元素为abc\0,剩余元素为0
int arr[]={1,2,3};//三个元素的数组
int arr[10]={'a','b','c'};//完全初始化,前三个元素为a,b,c,剩余的元素默认初始化为0;
int arr[]=''abc'';//四个元素的数组
一维数组的使用
[]下标引用操作符,用于数组访问的操作符
数组是由下标来访问的
数组的大小是可以通过计算得来的
一维数组在内存中的存储
地址是十六进制的
二维数组
二维数组的创建
矩阵
int arr[3][4];//三行四列
char arr[3][5];//三行五列
double arr[4][5];//四行五列
二位数组的初始化
int arr[3][4]={1,2,3,4,2,3,4,5,3,4,5,6};//完全初始化
int arr[3][4]={{1,2},{3,4},{5,6}};//不完全初始化
二维数组可以省略行数,但不能省略列数;
int arr[][4]={{1,2},{3,4},{5,6}};
int arr[][4]={1,2,3,4,2,3,4,5,3,4,5,6};
二维数组的使用
二维数组可以理解为一维数组的数组
二维数组在内存中的存储
二维数组的存储不是矩阵存储而是连续的存储
数组越界
数组作为函数参数
冒泡排序的函数
冒泡排序的核心思想:两个相邻元素的元素比较
一趟冒泡排序让一个数据来到它最终应该出现的位置上!
n个数据需要n-1趟冒泡排序
数组名是什么
一维数组数组名
数组名确实能表示首元素的地址
但是有两个例外:
1.sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节
2.&数组名,这里的数组名表示整个数组,取出的是整个数组的地址
注意加一后的地址变化
二维数组数组名
二维数组数组名与一维数组数组名类似
数据实例
利用数组实现:
1.三子棋
https://download.csdn.net/download/yjh1172005029/88856176?spm=1001.2014.3001.5501
2.扫雷
https://download.csdn.net/download/yjh1172005029/88875230?spm=1001.2014.3001.5501