目录
数组就是存放相同类型数据的集合,其特点为:
- 数组中每个元素具有相同的数据类型;
- 数组由连续内存位置组成(线性表?)。
一、一维数组
1. 一维数组的三种定义方式
- 数据类型 数组名[数组长度];
- 数据类型 数组名[数组长度] = {值1,值2,...};
- 数据类型 数组名[] = {值1,值2,...};
// 数据类型 数组名[数组长度];
int a[3];
a[0] = 3;
a[1] = 4;
a[2] = 5;
// 数据类型 数组名[数组长度] = {值1,值2,...};
int a[3] = {3,4,5};
// 数据类型 数组名[] = {值1,值2,...};
int a[] = {3,4,5};
2. 数组名的作用
- 获取数组的首地址
- 获取数组内存空间大小
- 结合下表获取数组元素
- 获取数组元素个数
int a[3] = {3,4,5};
// 获取数组的首地址
cout << a << endl; // 打印a首地址的内存位置
// 获取数组内存空间大小
cout << sizeof(a) << endl;
// 结合下标获取数组元素
cout << a[1] << endl; //打印下标为1的元素
// 获取数组元素个数
cout << sizeof(a)/sizeof(a[0]) << endl; //sizeof(a[0])获取数组a每个元素所占内存空间
二、二维数组
1.二维数组的定义方式
- 数据类型 数组名[行数][列数];
- 数据类型 数组名[行数][列数] = {{值1, 值2},{值3, 值4}};
- 数据类型 数组名[行数][列数] = {值1, 值2, 值3, 值4};
- 数据类型 数组名[][列数] = {值1, 值2, 值3, 值4}
// 数据类型 数组名[行数][列数];
int a[2][2];
a[0][0] = 1;
a[0][1] = 2;
a[1][0] = 3;
a[1][1] = 4;
// 数据类型 数组名[行数][列数] = {{值1, 值2},{值3, 值4}};
int a[2][2] = {{1,2},{3,4}};
// 数据类型 数组名[行数][列数] = {值1, 值2, 值3, 值4};
int a[2][2] = {1,2,3,4};
// 数据类型 数组名[][列数] = {值1, 值2, 值3, 值4}
int a[][2] = {1,2,3,4};
2. 二维数组名的作用
- 获取二维数组的首地址
- 获取二维数组内存空间大小
- 获取二维数组每行的内存空间大小
- 获取二维数组行数
- 获取二维数组每行元素数
int a[2][2] = {{1,2},{3,4}};
// 获取二维数组的首地址
cout << a << endl; // 打印a首地址的内存位置
// 获取二维数组内存空间大小
cout << sizeof(a) << endl;
// 获取二维数组每行的内存空间大小
cout << sizeof(a[0]) << endl;
// 获取二维数组行数
cout << sizeof(a)/sizeof(a[0]) << endl;
// 获取数组每行元素个数
cout << sizeof(a[0])/sizeof(a[0][0]) << endl;