数组同变量一样,也必须先定义、后使用 1维数组是只有1个下标的数组,定义形式如下: 数据类型数组名常量表达式|,数组名2常量表达式 ●●。。。 (1)“数据类型”是指数组元素的数据类型。 (2)数组名,与变量名一样,必须遵循标识符命名规 则。 (3)“常量表达式”必须用方括号括起来,指的是数 组的元素个数(又称数组长度),它是一个整型值,其中可 以包含常数和符号常量,但不能包含变量 注意:C语言中不允许动态定义数组
数组同变量一样,也必须先定义、后使用。 1维数组是只有1个下标的数组,定义形式如下: 数据类型 数组名[常量表达式][, 数组名2[常量表达式 2]……]; (1)“数据类型”是指数组元素的数据类型。 (2)数组名,与变量名一样,必须遵循标识符命名规 则。 (3)“常量表达式”必须用方括号括起来,指的是数 组的元素个数(又称数组长度),它是一个整型值,其中可 以包含常数和符号常量,但不能包含变量。 注意:C语言中不允许动态定义数组
舴别说明:在数组定义时,“常量表达式”外的方 括号;以及元素引用时,“下标表达式”外的方括号, 都是C语言语法规则所要求的,不是本书所约定的可选项 的描述符号! (4)数组元素的下标,是元素相对于数组起始地址 的偏移量,所以从0开始顺序编号 (5)数组名中存放的是一个地址常量,它代表整个 数组的首地址。同一数组中的所有元素,按其下标的顺 序占用一段连续的存储单元。 Return
特别说明:在数组定义时, “常量表达式”外的方 括号;以及元素引用时, “下标表达式”外的方括号, 都是C语言语法规则所要求的,不是本书所约定的可选项 的描述符号! (4)数组元素的下标,是元素相对于数组起始地址 的偏移量,所以从0开始顺序编号。 (5)数组名中存放的是一个地址常量,它代表整个 数组的首地址。同一数组中的所有元素,按其下标的顺 序占用一段连续的存储单元。 [Return]
61.2数组元素的引用 引用数组中的任意一个元素的形式: 数组名下标表达式 1.“下标表达式”可以是任何非负整型数据,取值 范围是0~(元素个数-1)。 特别强调:在运行C语言程序过程中,系统并不自动 检验数组元素的下标是否越界。因此在编写程序时,保 证数组下标不越界是十分重要的。 2.1个数组元素,实质上就是1个变量,它具有和相 同类型单个变量一样的属性,可以对它进行赋值和参与 各种运算 3.在C语言中,数组作为1个整体,不能参加数据 算,只能对单个的元素进行处理 Return
6.1.2 数组元素的引用 引用数组中的任意一个元素的形式: 数组名[下标表达式] 1.“下标表达式”可以是任何非负整型数据,取值 范围是0~(元素个数-1)。 特别强调:在运行C语言程序过程中,系统并不自动 检验数组元素的下标是否越界。因此在编写程序时,保 证数组下标不越界是十分重要的。 2.1个数组元素,实质上就是1个变量,它具有和相 同类型单个变量一样的属性,可以对它进行赋值和参与 各种运算。 3.在C语言中,数组作为1个整体,不能参加数据运 算,只能对单个的元素进行处理。 [Return]
6131维数组元素的初始化 初始化格式: 数据类型数组名常量表达式]={初值表} (1)如果对数组的全部元素赋以初值,定义时可以 不指定数组长度(系统根据初值个数自动确定)。如果 被定义数组的长度,与初值个数不同,则数组长度不能 省略。 (2)“初值表”中的初值个数,可以少于元素个数, 即允许只给部分元素赋初值 (3)根据存储类型的不同,数组有静态数组( statIc) 和动态数组(auto)之分;根据定义的位置不同,数组有 内部数组(在函数内部定义的数组)和外部数组(在函 数外部定义的数组)之分 Return
6.1.3 1维数组元素的初始化 初始化格式: 数据类型 数组名[常量表达式]={初值表} (1)如果对数组的全部元素赋以初值,定义时可以 不指定数组长度(系统根据初值个数自动确定)。如果 被定义数组的长度,与初值个数不同,则数组长度不能 省略。 (2)“初值表”中的初值个数,可以少于元素个数, 即允许只给部分元素赋初值。 (3)根据存储类型的不同,数组有静态数组(static) 和动态数组(auto)之分;根据定义的位置不同,数组有 内部数组(在函数内部定义的数组)和外部数组(在函 数外部定义的数组)之分。 [Return]
数组初始化举例 #include<stdio. h> void maino inta|5={1,2,3,4,5} intb|5|={1,2,3}: intc={1,2,3,4,5}; static int d5 int e5; int for(i=0; i<5; 1++) printf("od,aiD; printf( in; for(i=0; i<5; i++) printf( %d",biD; printf("n); for (i=0; i<5; i++) printf("%",ciD; printf("n") for(i=0; i<5; i++) printf("%d", diD; printf("In"); for (i=0; i<5; i++) printf("%d"eiD;printf("n");
数组初始化举例 • #include<stdio.h> • void main() • {int a[5]={1,2,3,4,5}; • int b[5]={1,2,3}; • int c[]={1,2,3,4,5}; • static int d[5]; • int e[5]; • int i; • for (i=0;i<5;i++) printf("%d",a[i]);printf("\n"); • for (i=0;i<5;i++) printf("%d",b[i]);printf("\n"); • for (i=0;i<5;i++) printf("%d",c[i]);printf("\n"); • for (i=0;i<5;i++) printf("%d",d[i]);printf("\n"); • for (i=0;i<5;i++) printf("%d",e[i]);printf("\n"); • }