1.数组的定义
在C语言,中使用数组必须先进行定义。一维数组的定义语句形式为
其中:
●类型说明符是任意一种基本数据类型或构造数据类型,如int,char,float。
●数组名是用户自定义的数组标识符,如Data,Results,Fonts。
●方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
例如:
对于数组类型说明应注意以下几点。
1)方括号中常量表达式表示数组元素的个数,如chArray[5]表示数组chArray有5个元素。其下标从0开始计算,所以5个元素分别为chArray[0],chArray[1],chArray[2],chArray[3],chArray[4]。
2)数组的类型实际上是指数组元素的类型。对于同一个数组,其所有元素的数据类型都是相同的。
3)数组名不能与其他变量名相同。例如:
当变量重名时,编译器的出错提示一般为
4)数组名的书写规则应符合标识符的书写规定。
5)不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常数表达式。例如:
下述说明方式是错误的。
6)允许在同一个类型说明中,说明多个数组和多个变量。例如:
(www.daowen.com)
7)在单片机中,数组长度不能过大。因为单片机中存储空间有限,无法存储大量数据,所以当定义数组时长度过大会出现编译错误,如图4-13所示。
图4-13 数组长度过大产生编译错误
其中的错误是说在BANK0存储体中无法找到能容纳0x64(即十进制的100)个字连续区域。其原因就是因为在主程序中定义“charString[100];”时,数组长度过大。需要注意的是,此类错误不会给出错误行号,给定位错误带来一定困难。一般情况下,遇到此类错误时第一个要想到的原因就是数组长度过大。
2.数组的初始化
数组初始化赋值是指在数组定义时给数组元素赋予初值。初始化赋值的一般形式为
其中,在大括号中的各数据值即为各元素的初值,各值之间用逗号间隔。例如:
相当于:
C语言对数组的初始化赋值还有以下几点规定。
1)可以只给部分元素赋初值。当大括号中值的个数少于元素个数时,只给前面部分元素赋值。例如:
表示只给a[0]~a[4]5个元素赋值,然后5个元素自动赋0值。
2)只能给元素逐个赋值,不能给数组整体赋值。例如,给10个元素全部赋1值,只能写为
而不能写为
3)如果给全部元素赋值,则在数组说明中,可以不给出数组元素的个数,但不推荐使用。例如:
可写为
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。