学习:一维/二维数组

数组的特点:
特点1:数组中的每个数据元素都是相同的数据类型

特点2:数组是由连续的内存位置组成的


数组的定义:

一维数组定义方式有三种:

第一种: 数据类型 数组名[数组长度];
这种是定义完之后,然后我们自己进行自定义赋值,a[0],a[1],a[2]

第二种: 数据类型 数组名[数组长度]={1,2,3,4,5};
这里需要注意的是,如果后面填充的数量小于定义的数组的数组长度, 那么自动填充为0

第三种:数据类型 数组名[] = {1,2,3,4};


一维数组名的用途:
1、可以通过数组名统计整个数组占用的内存大小和数量

int整形一个数组占四个字节,所以结果如下:

2、可以获取数组在内存中的首地址

这里可以发现地址本身是为16进制的,但是我们可以进行转换为int,发现int之间为4个字节之差,同样也可以发现的是arr 相当于 &arr[0],&arr[0]代表的是第一个元素的地址,&就是取这个元素的内存地址,那么就是元素的首地址就相当于arr,同样也是&arr[0]


二维数组的定义:定义方式有四种
第一种:数据类型 数组名[ 行数 ][ 列数 ]; 这种自己知道

第二种:数据类型 数组名[ 行数 ][ 列数 ] = { {数据1,数据2 } ,{数据3,数据4 } };
这种方式,可读性高,能直接看出是两行。

第三种:数据类型 数组名[ 行数 ][ 列数 ] = { 数据1,数据2,数据3,数据4};
这种方式,可读性不高,还不如第二种方法。

第四种:数据类型 数组名[ ][ 列数 ] = { 数据1,数据2,数据3,数据4};
这种方式,隐式说明了三列一行


二维数组名的用途:
1、查看二维数组所占内存空间
24个字节,因为一个int为四个字节,然后数组所占的个数为6个

那么如果想要获得数组的个数呢?
cout << sizeof(arr)/ sizeof(int)<< endl;

那么如果想要获得数组的每行的个数呢?
cout << sizeof(arr[0])/ sizeof(int)<< endl;

那么如果想要获得数组有多少行,多少列呢?

cout << "这个数组行数为:" << sizeof(arr) / sizeof(arr[0]) << endl;
cout << "这个数组列数为:" << sizeof(arr[0]) / sizeof(arr[0][0])<< endl;

2、获取二维数组首地址

总结1:二维数组名就是这个数组的首地址
总结2:对二维数组名进行sizeof时,可以获取整个二维数组占用的内存空间大小

原文地址:https://www.cnblogs.com/zpchcbd/p/11839594.html