1)数组的数据类型都是相同的 2)C语言不允许对数组的大小做动态定义 3)数组名代表数组的首地址,它是一个常量,其值不可以改变 4)数组的下标可以是常量或整型表达式 5)C语言规定,不能引用整个数组,只能逐个引用元素 6)必须先定义数组,后引用数组元素。 7)数组下标从0开始 8)若不对static数组元素赋初值,则系统会自动为全部元素赋以0值 例:static in a[3]; 等价于:a[0]=0; a[1]=0; a[2]=0; 9)数组中没有被赋值的元素并不是不占用内存,它们是有值的,但这个值是不确定的。 二维数组 数组类型 数组名[常量表达式1][常量表达式2] 其中,数据类型是指每个数组元素的类型。常量表达式1指出数组的行数,常量表达式2指出数组的列。行数*列数即得到数组的元素个数。 1) 数组行和列的下标都从0开始 2) 由于内存是一维的,C语言中二维数组在内存中存放是按行序优先,即在内存中先顺序存放第一行的各元素,再存放第二行的各元素,依此类推。 3) C语言中,一个二维数组可以被看成一个一维数组,其中每个元素又是一个包含有若干元素的一维元素。 4) int a[3][4] a和a[0]都代表首地址,但两都所表示的是两个不同的一维数组。C编译器认为a是一个具有3个元素的一维数组名,这三个分别为a[0],a[1],a[2],每个元素分别占用8个字节.a[0]是一个具有4个元素的一维数组名,这4个元素分别为a[0][0], a[0][1],a[0][2],a[0][3],每个元素分别占用2个字节. 5) 第一维的长度不指定,但必须指定第二维的长度。
|