假如有以下声明
int ar1[2][3];
int ar2[3][2];
pa = ar1;
书中说“pa指向一个内含3个int类型元素的数组,ar2指向一个内含2个int类型元素的数组”
想问一下,怎么看出这个数组有多少个类型,类型是什么的呀。(>人<;)
假如有以下声明
int ar1[2][3];
int ar2[3][2];
pa = ar1;
书中说“pa指向一个内含3个int类型元素的数组,ar2指向一个内含2个int类型元素的数组”
想问一下,怎么看出这个数组有多少个类型,类型是什么的呀。(>人<;)
pa 代表 ar1,ar1 [2][3] 其实是个两行,每行都是一个大小为三个元素的数组,也就是一个二维数组(可以类似看成一个矩阵,2,3表示行数和列数) ;ar2 [3][2]和他是同理的,类型就是数组前面定义的类型,因为数组所有元素类型必须一致,所以有且只会有这一个类型就是 int 类型 。
这里注意一下:我们定义二维数组时,可以定义成 ar1 [ ][3] 而不能定义成 ar1 [2][ ],其原因就是二维数组必须知道每一行有多少个元素,这是无法默认给定的,就是二维数组的一个单元,因此这里谈论 "ar1 内含3个int类型元素的数组" 和 “ar2 指向一个内含2个int类型元素的数组” 的 3 和 2 都取自于单元数组的元素个数。
ps:如有帮助,请点个采纳捏~