4.1.1一维数组的定义 一维数组定义格式: 类型说明符数组名[整型常量表达式]; 例如: int a[10]; 就定义了一个包含10个整型元素的数组a, 它的内存大小可以存放10个整型数据
一维数组定义格式: 类型说明符 数组名 [整型常量表达式]; 例如: int a[10]; 就定义了一个包含10个整型元素的数组a, 它的内存大小可以存放10个整型数据。 4.1.1 一 维数组的定义
类型说明符数组名[整型常量表达式]; 识挚吟名義则与变罐定虏的◆ 明此教:不能和其他变尖, scanf(ood&n); 不能是变量 元素都属于此类型 int a[N];V int an;x int a; int n 3; inta[3];× int a[n];x i int a,b[31;V
类型说明符 数组名[整型常量表达式]; int,char等都可以, 说明此数组中每个 元素都属于此类型 命名规则与变量一致 不能和其他变量重名 指定元素的个 数,最小为0, 不能是变量 #define N 3 int a[N];√ int a[1.5];× int a[3+5];√ int n; scanf(“%d”,&n); int a[n];× int a; int a[3];× int a,b[3];√ int n = 3; int a[n];×
【例4.1】判断以下数组定义是否合法, 并说明原因。 (1)inta2.5]; (2)inta-3]; (3)inti=3; (4)int i; int a]; scanf“%d”,&i; int a]; (5)#define N3 (6) int a; int a [N]; int a3]; (7)inta2+3; (8)inti,a3],bf'0];
【例 4.1】 判断以下数组定义是否合法, 并说明原因。 (1)int a[2.5]; (2) int a[-3]; (3)int i = 3; (4) int i; int a[i]; scanf(“%d” , &i); int a[i]; (5)#define N 3 (6)int a; int a [N]; int a[3]; (7)int a[2 + 3]; (8)int i, a[3], b['0'];
4.1.2 维数组元素的引用 一维数组引用格式:数组名[下标] a[0]a[1]a[2]a[3]a[4a[5]a[6]a7]a[8]a[9] 注意:1.数组必须先定义,再使用。 2.只能逐个引用数组元素,不能一次引用整个数组。 例如:inta10小;可以使用a0小、a1a。若有 a=1;或者a10]=1;出错。a10]不代表整个数组,它是 下标为10的元素,越界!
4.1.2 一维数组元素的引用 一维数组引用格式: 数组名[下标] a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 注意:1. 数组必须先定义,再使用。 2. 只能逐个引用数组元素,不能一次引用整个数组。 例如:int a[10]; 可以使用a[0]、a[1].a[9] 。若有 a=1; 或者a[10] = 1; 出错。a[10]不代表整个数组,它是 下标为10的元素,越界! 1
3.引用数组时,下标可以是常量或变量,它表示元素的 序号。 例如:inti=3,a10];a=1;\ 0x20003000 a0] 表示给下标为3的元素赋值为1。 0x20003004 a(1] 4.一维数组在内存中连续存放, 0x20003008 a2] 先存放下标为0的元素, 再存放下标为1的元素, 0x2000301c a8] 依次直至存放完所有元素。 0x20003020 a[9]
3. 引用数组时,下标可以是常量或变量,它表示元素的 序号。 例如:int i=3, a[10]; a[i]=1; √ 表示给下标为3的元素赋值为1。 4.一维数组在内存中连续存放, 先存放下标为0的元素, 再存放下标为1的元素, 依次直至存放完所有元素。 0x20003000 a[0] a[1] a[2] . a[8] a[9] 0x20003004 0x20003008 0x20003020 0x2000301c