C++中一维数组在内存中占用一片连续的内存空间。
定义方式(三种):
1、数据类型 数组名[数组长度];
2、数据类型 数组名[数组长度]{值1,值2,值3...};
3、数据类型 数组名[]{值1,值2,值3...};
三种命名方式。
ps:
1、数组长度和数组的索引之间差一位,如:数组长度为10,而数组的索引最大为9,因为数组的索引是从0开始计算的,arr[0]~arr[9]。
2、数组长度可以用sizeof(arr)/sizeof(arr[0])进行计算,也可用sizeof(arr)/sizeof(数组类型)计算。
3、数组名可以代表该数组在内存中的首地址,可以用指针进行接收。
4、使用sizeof(数组名);可以获取数组所占内存的大小
5、指针操作一维数组的方式(伪代码):
int arr[10];
将数组arr存入数据;
int *p = arr;//设置存储int类型的指针p,值为arr数组的首地址
//而*p[0]=arr[0];
*p[1]=arr[1];
...
//p++=&a[1];
如果指针存放的地址为数组的首地址,则指针++为数组内存向后偏移此数组类型的字节数
例arr数组为int类型,int类型占4字节
则例arr数组的首地址为0x1010,则int *p = arr;
则p++的地址为0x1014,而0x1014的地址正好为arr[1]的地址
示例代码:
运行结果:
注:本文章仅为学习路线中感悟,有错误之处还请指出!