目录
一、一维数组
1、一维数组的定义
(1)所谓一维数组是指只有一个下标的数组。它在计算机的内存中是连续存储的。
(2)C语言中,一维数组的说明一般形式如下:
<存储类型> <数据类型 > <数组名>[<表达式>] ;
eg: int a [10];
2、一维数组的引用
(1)数组必须先定义,后使用
(2)只能逐个引用数组元素,不能一次引用整个数组
(3)数组元素表示形式:数组名[下标]
(4)其中:下标可以是常量或整型表达式
3、一维数组初始化
(1)初始化方式:在定义数组时,为数组元素赋初值
int a[5]={1,2,3,4,5};
(2)说明:
a、数组不初始化,其元素值为随机数
b、对static数组元素不赋初值,系统会自动赋以0值
c、给部分数组元素赋初值
(3)初始化
a、static数组不初始化:若定义时未初始化,则数组中元素的值默认为0;
b、全局数组不初始化 :若定义时未初始化,则数组中元素的值默认为0;
c、全部初始化:通过下标逐个引入元素,在对数组初始化时,只能写成一行;
d、部分初始化:定义时只给前面的数据赋值,则未定义的系统自动赋值为0;
eg: int a [10]={1,3,5,7,9}; //后五个数据自动赋0;
e、数组全部赋值:若对数组中的元素全部赋值,则可以省略数组下标中的常量;
f、数组全部初始化为0:(数组特殊写法)可以一次性将数组元素全部初始化为0;
eg:int a [10]={0};
4、注意
(1)数组名表示内存首地址,是地址常量
(2)sizeof(数组名)是数组占用的总内存空间
(3)编译时分配连续内存
(4)内存字节数=数组维数 * sizeof(元素数据类型)
(5)数组的元素不能整体赋值,只能单个赋值
二、二维数组
1、二维数组的定义
定义方式:(声明时列数不能省略,行数可以)
数据类型 数组名[常量表达式][常量表达式];
eg:int a[3][4];
float b[2][5];
二维数组元素的存放顺序:按行序优先(因为内存是一维的)
2、二维数组元素的引用
(1)形式:数组名[下标][下标]
(2)二维数组元素的初始化
a、分行初始化
b、按元素排列顺序初始化
3、数组是一种构造类型的数据
二维数组可以看作是由一维数组的嵌套而构成的。设一维数组的每个元素都又是一个数组,就组成了二维数组。当然,前提是各元素类型必须相同。根据这样的分析,一个二维数组也可以分解为多个一维数组。