数组
概述:所谓数组,就是一个集合,里面存放了相同类型的数据元素;
特点1:数组中的每个数据元素都是相同的数据类型;
特点2:数组是由连续的内存位置组成的;
一维数组
- 一维数组有3种定义方式:
定义数组的时候,一定要有初始长度;
数组元素的下标是从0开始索引的
int arr1[3];
int arr2[5]={1,2,3,4,5};
int arr3[]={1,2,3};
for(int i=0;i<5;i++){ //下标索引从0开始
cout << arr2[i]<<endl;
}
如果在初始化数据时,没有全部初始填充完,则会用0进行补充;
一维数组数组名的用途:
- 可以统计真个数组在内存中的长度;
- 可以获取数组在内存中的首地址;
int arr[] = { 1,2,3,4,5 };
cout << "整个数组占用内存空间为:" << sizeof(arr)<<endl;
cout << "每个元素占用内存空间为:" << sizeof(arr[0])<<endl;
cout << "数组中元素个数为:" << sizeof(arr) / sizeof(arr[0]) << endl;
int arr[] = { 1,2,3,4,5 };
//可通过数组名查看数组首地址
//系统给地址编号默认为十六进制数
cout << "数组首地址为:" << arr << endl;
//用(int)将16进制数转为10进制整型数据
cout << "数组首地址为:" << (int) arr << endl;
cout << "数组第一个元素地址为:" <<(int) &arr[0] << endl;
cout << "数组第二个元素地址为:" <<(int) &arr[1] << endl;
所以,计算第i个元素地址=首地址+(i - 1) * 每个元素占用的字节数;
数组名是一个常量,不可以进行复制操作;
因为数组名从定义开始就指向了数组的首地址;