不同基本类型的数据占用的字节数不一样,例如 int
占用 4 个字节,char
占用 1 个字节。数组是在其他数据类型的基础上构造出来的,是一种派生数据类型。
如果有一维数组定义如下:
int c[5], f[10];
那么编译器就在内存中为数组c
分配了 5 个int
类型的内存空间,共 5×4=20 个字节,并为它们起了一个名字,叫 c,数组c
的类型是int [5]
;同理数组f
是类型是int [10]
,占内存 40 个字节。数组类型所占字节数由数组元素的类型和数组长度决定。
如果有二维数组定义:
int s[3][4],t[2][5];
C 语言是把二维数组分解为多个一维数组来处理。数组s
类型是int [3][4]
,编译器将二维数组s
分解为 3 个长度为 4 的一维数组s[0]
、s[1]
、s[2]
,即这三个一维数组的类型是int [4]
,在内存中是按行排列的,也就是先存放s[0]
行,再存放s[1]
行,最后存放s[2]
行,每行中的 4 个元素也是依次存放,整个数组共占用 3×(4×4) = 48 个字节。 同理,二维数组 t 类型是int [2][5]</