3.3.2 数组
2025年09月26日
3.3.2 数组
数组和普通变量一样,要求定义后才能使用,定义一维或多维数组的方式如表3-10所示。
表3-10 数组的定义方式
数据类型是指数组中的各数据单元的类型,每个数组中的数据单元只能是同一数据类型。数组名是整个数组的标识,命名方法和变量命名方法是一样的。在编译时系统会根据数组大小和类型为变量分配空间,数组名能说就是所分配空间的首地址的标识。常量表达式是表示数组的长度和维数,它必须用“[]”括起,括号里的数不能是变量,只能是常量。
在C51语言中数组的下标是从0开始的,而不是从1开始,例如,一个具有10个数据单元的数组count,它的下标就是从count[0]到count[9],引用单个元素就是数组名加下标,如count[1]就是引用count数组中的第2个元素,如果用了count[10]就会有错误出现了。还有一点要注意的就是在程序中只能逐个引用数组中的元素,不能一次引用整个数组,但是字符型的数组能一次引用整个数组。
数组是能赋初值的。在上面介绍的定义方式只适用于定义在内存data存储区中使用的内存,有的时候需要把一些数据表存放在数组中,通常这些数据是不用在程序中改变数值的,这个时候就要把这些数据在程序编写时就赋给数组变量。因为51系列单片机片内RAM存储空间有限,通常会把RAM分配给参与运算的变量或数组,而那些程序运行过程中不改变的数据则应存放在片内ROM存储区,以节省宝贵的RAM存储空间。赋初值的方式如下:
在定义并为数组赋初值时,要注意初值个数和数组长度的关系,初值个数必须小于或等于数组长度,不指定数组长度的话,则会在编译时由实际的初值个数自动设置数组长度。