目录
概述
所谓数组,就是一个集合,里面存放了相同类型的数据元素
特点1: 数组中的每个数据元素都是相同的数据类型
特点2: 数组是由连续的内存位置组成的
一、一维数组
1. 定义方式
1. 数据类型 数组名[ 数组长度 ];
省略初始化2. 数据类型 数组名[ 数组长度 ] = { 值1,值2 . . . };
如果在初始化数据时没有全部填写完,会用0来填补剩余数据
3. 数据类型 数组名[ ] = { 值1,值2 . . . };
省略数组名
2. 特点
数组中每个元素都是相同的数据类型
放在一块连续的内存空间中
3. 下标
下标从0开始索引
4. 一维数组数组名的用途
1.可以统计整个数组在内存中的长度
sizeof ( arr )
2. 统计某个元素的占用的内存大小
sizeof ( arr[0] )
3.可以获取数组在内存中的首地址
cout << arr << endl;
数组名是常量,不可以赋值
注意
- 数组名的命名规范与变量名命名规范一致,不要和变量重名
- 数组中下标是从0开始索引
二、二维数组
1. 二维数组定义方式
二维数组定义的四种方式:
- 数据类型 数组名[行数 ][ 列数 ];
- 数据类型 数组名[行数 ][ 列数 ]={{数据1,数据2 },{数据3,数据4 }};
- 数据类型 数组名[行数 ][ 列数 ]={数据1,数据2,数据3,数据4};
- 数据类型 数组名[ ] [ 列数 ]={ 数据1,数据2,数据3,数据4};
建议:以上4种定义方式,利用第二种更加直观,提高代码的可读性
2. 二维数组数组名
查看二维数组所占内存空间
sizeof(arr)
计算方法: 数据量*数据类型
cout << "二维数组占用内存空间为:" << sizeof(arr) << endl; cout << "二维数组第一行占用内存空间为:" << sizeof(arr[0]) << endl; cout << "二维数组第一个元素占用内存空间为:" << sizeof(arr[0][0]) << endl; cout << "二维数组的行数为:" << sizeof(arr)/sizeof(arr[0]) << endl; cout << "二维数组的列数为:" << sizeof(arr[0])/sizeof(arr[0][0]) << endl;
获取二维数组首地址
cout << "二维数组的首地址为" << (int)arr << endl; cout << "二维数组第二行的首地址为" << (int)arr[1] << endl; cout << "二维数组第一个元素的首地址为" << (int)&arr[0][0] << endl;
计算元素地址记得加取址符
cout << "二维数组第一个元素的首地址为" << (int)&arr[0][0] << endl; cout << "二维数组第二个元素的首地址为" << (int)&arr[0][1] << endl;