C++数组
一、概述
- 数据,就是一个集合,里面存放了相同类型的数据元素
- 特点
- 数组中的每个数据元素都是相同数据类型
- 数组是由连续的内存位置组成的
二、一维数组
2.1定义方式
数据类型 数组名[数组长度];
数据类型 数组名[数组长度] = {值1, 值2, ...};
数据类型 数组名[] = {值1, 值2, ...};
2.2下标
- 数组中每个元素有一个下标
- 下标从左到右,从0开始
2.3一维数组数组名
2.4.1用途
- 可以统计整个数组在内存中的长度
- 可以获取数组在内存中的首地址
2.4.2获取数组在内存中的长度
- 使用
sizeof(数组名)
获取数组的长度 - 使用
sizeof(数组名[0])
获取每个元素的长度 - 使用数组的长度除以元素的长度得出数组中元素的个数
cout << sizeof(i2) / sizeof(i2[0]) << endl;
2.4.2获取数组在内存中的首地址
- 直接打印数组名可以获取16进制的数组首地址
- 在数组名前加
(int)
转换为10进制 - 使用
&数组名[下标]
获取指定下标的元素的地址
cout << i2 << endl;
2.3使用for循环遍历数组
int i2[] = { 1,2,3,4,5 };
for (int i = 0; i < 5; i++)
{
cout << i2[i] << endl;
}
/*
1
2
3
4
5
*/
三、二维数组
3.1定义二维数组
数据类型 数组名[行数][列数];
数据类型 数组名[行数][列数] = {{值1, 值2, ...},{值1, 值2, ...}, ...};
数据类型 数组名[行数][列数] = {值1, 值2, 值3, 值4};
数据类型 数组名[][列数] = {值1, 值2, 值3, 值4};
建议:以上4中定义方式,使用第二种更加直观,提高代码的可读性
3.2使用
int arr[2][5] = { {1,2,3,4,5}, {6,7,8,9,0} };
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 5; j++)
{
cout << arr[i][j] << endl;
}
}
/*
1
2
3
4
5
6
7
8
9
0
*/
3.3二维数组数组名
- 查看二维数组所占内存空间
- 获取二维数组首地址
3.3.1获取所占用空间
- 使用
sizeof(数组名)
获取数组的长度 - 使用
sizeof(数组名[0])
获取二维数组一行的长度 - 使用
sizeof(数组名[0][0])
获取二维数组中元素的长度 - 使用数组的长度除以元素的长度得出数组中元素的个数
3.3.2获取数组在内存中的首地址
- 直接打印数组名可以获取16进制的数组首地址
- 在数组名前加
(int)
转换为10进制 - 使用
&数组名[行标]
获取指定行的首地址 - 使用
&数组名[行标][列标]
获取指定行指定元素的首地址