c语言与程序设计 胡元义,C语言与程序设计教程 教学课件 胡元义 全书教案_ 第4章.pdf...

第4章 数组

第4章 数组

4.1 一维数组

4.2 二维数组

4.3 字符数组和字符串

4.4 典型例题精讲

第4章 数组

4.1 一维数组

4.1.1 一维数组的定义

数组元素可以有多个下标,下标的个数表示数组的维

数,只有一个下标时表示该数组为一维数组。数组的使用也

必须遵循“先定义,后使用”这一原则。一维数组定义的一般

形式如下:

类型标识符 数组名[常量表达式];

第4章 数组

数组定义包含以下几个要点:

(1) 类型标识符用来指明数组元素的类型,同一数组的

元素其类型相同;类型标识符可以是任意一种基本数据类型

或者构造数据类型。

(2) 数组名的命名规则与普通变量相同,但不得与其他

变量或数组同名;数组名表示该数组在内存中存放的首地址,

是一个地址常量。

(3) 方括号“[ ]”是数组的标志,方括号中的常量表达式表

示数组的元素个数,即数组的长度(大小) 。

(4) 常量表达式是整型常量、符号常量及由它们组成的

表达式,但不允许出现变量。

第4章 数组

例如:

int a[5];

在此,数组a共有5个元素:a[0]、a[1]、a[2]、a[3]和a[4] ,

且每个元素都是整型的。特别要注意的是,数组元素的下标

从0开始,直至数组元素的个数减1,数组a的内存分配示意

见图4-1 ,从图中可以看到:数组名a实际上就是数组元素a[0]

的地址。C语言的编译器不对数组的越界问题进行检查,直

到运行时才给出出错信息,这一点要特别注意。

第4章 数组

图4-1 int a[5] 的内存分配示意

第4章 数组

例4.1 指出下面的数组定义中哪些是正确的,哪些是错

误的。

int x[40],y[20],z(10);

float b[7.5],s[8];

int m;

char m[15],ch[m];

第4章 数组

[解] 对本题的数组定义说明如下:

(1) 对“int x[40],y[20],z(10);” ,其中数组x 、y 的定义是正

确的,而数组z 的定义有错,因为数组的标志是方括号“[ ]” ,

而不是圆括号“( )” 。

(2) 对“float b[7.5],s[8];” ,其中数组s定义是正确的,而数

组b 因其表示数组元素个数的常量表达式是一浮点型常量,

而不是整型常量,因此出错。

(3) 对“char m[15],ch[m];” ,数组m 因为与整型变量m 同名

而出错,数组ch 的常量表达式是一变量m ,而不是常量,因

此出错。

第4章 数组

4.1.2 一维数组的引用和初始化

数组必须先定义、后使用,并且只能逐个引用数组元素

而不能一次引用整个数组。数组元素的引用格式为:

数组名[下标]

其中,方括号“[ ]” 中的下标只能是整型常量或整型表达

式。例如:

a[5]

b[i+2*j]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值