理论教育 C语言程序设计:数组的定义

C语言程序设计:数组的定义

时间:2023-10-20 理论教育 版权反馈
【摘要】:数组元素属同一数据类型,先后次序确定,用数组名和下标标识。具有一个下标的数组称为一维数组。<类型说明符>:说明数组元素所属的数据类型,可以是整型、浮点型、字符型等。图6-1一维数组在内存中的存放方式提示:C语言中不允许有动态数组,即说明数组时数组长度表达式不能含有变量。下面是一些合法的一维数组说明的例子:

C语言程序设计:数组的定义

【例6.1】一维数组实例。

数组元素属同一数据类型,先后次序确定,用数组名和下标标识。具有一个下标的数组称为一维数组。

一维数组一般形式为:

<类型说明符><数组名>[<常量表达式>]

或:

[<存储类型>] <类型说明符><数组名>[<常量表达式>]

<存储类型>:包括static(静态)、extern(外部)和auto(自动)。

<类型说明符>:说明数组元素所属的数据类型,可以是整型、浮点型、字符型等。

<常量表达式>:指明数组的大小,即数组元素的个数,也称为数组的长度,它必须是一个整型值,并且不可缺省。

数组可分为静态数组和动态数组。静态数组是指在运行时元素的个数不可以改变;动态数组则是允许在运行时改变元素的个数。

编译时分配连续内存:内存字节数=数组元素个数*sizeof(元素数据类型)。

数组存放形式:在说明一个数组后,系统会在内存中分配一段连续的空间用于存放数组元素。(www.daowen.com)

如说明一个元素个数为6的整型数组a:int a[6];

在内存中存放的形式如图6-1所示。

图6-1 一维数组在内存中的存放方式

提示:

C语言中不允许有动态数组,即说明数组时数组长度表达式不能含有变量

例如:int i=10;

int a[i];      (×不能用变量说明元素个数)

错误原因:数组在程序编译时会分配好各个元素在内存中的存放位置,当前的整型数组长度是变量i,其初值是10,说明当前该数组有10个元素,每个数组元素是整型数据,在内存中占2个字节。那么内存会用20个字节来存放该数组。但是在程序运行过程中i一旦变化,数组在内存中所占空间就不再是20个字节了。

下面是一些合法的一维数组说明的例子:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈