发布网友 发布时间:2022-04-24 07:54
共2个回答
热心网友 时间:2022-06-17 19:44
一、一维数组的定义热心网友 时间:2022-06-17 19:44
一、一维数组的定义 类型说明符 数组名[常量表达式]; 说明: 1、类型说明符用来定义数组中各个数据元素的类型。在任何一个数组中,数据 , 元素的类型都是一致的。 2、数组名处定义数组的名称。数组名的命名规则与变量名的命名规则(标识符的命名规则)相同。因为在C语言中我们将数组也当成一个变量来看待。 3、常量表达式是放在一对中括号[]中。注意必须是中括号[],而不能是大括号 { }或小括号(),常量表达式用来表示数组中拥有的元素个数。 4、常量表达式中必须是由常量或符号常量组成的表达式,而不能有变量。因为在C语言中,所有的变量都必须是先定义,后使用。一旦定义好一个变量后,就不允许对 这个变量进行任何修改。所以在定义数组变量的时候,一旦数组中元素(也称数组的大小)确定好以后,就绝对不允许改变数组的大小。 5、一维数组中的各个元素在内存中是按照下标规定的顺序存放在内存中的。我们知道,在内存中是以字节为基本单位来表示存储空间的并且在内存中只能按照顺序的方式存放数据。假设我们定义了一个整型的一维数组:int a[5];那么这个数组中的每个元素都将占用二个字节。 下面我们给出从内存地址1000开始的数组存放方式。 二、一维数组的引用 在已经定义了一个数组以后,怎么来使用数组中的元素呢?C语言规定只能一个一个地引用数组元素而不能一次引用数组中的全部元素。 数组的引用格式: 数组名[下标] 说明: 1、数组名是表示要引用哪一个数组中的元素,这个数组必须已经定义。 2、下标用一对中括号[]括起来,它表示要引用数组中的第几个元素,可以是变量表达式也可以是常量表达式。 3、在C语言中,下标的取值范围是从[0,元素个数减1]结束。假设我们定义了一个数组,含有N个元素(N为一个常量),那么下标的取值范围为 [0,N-1]。 好了,我们对一维数组的使用有了一定的了解。在上面这个程序中,我们看到,必须有一段程序向数组中赋值,它要占用运行时间。我们能不能在程序运行之前,就将数组中的内容规定好呢?好,来看我们下面介绍的内容。 三、一维数组的初始化 数组的初始化操作是在定义数组的同时就规定数组中有什么样的内容,即各个数组元素取什么值。这个初始化的过程是在源程序编译的过程中由编译程序完成的。它在程序运行前就已经规定好数组中各元素的取值。所以在使用数组时,最好对它进行初始化操作,可以节省程序运行时间。 对数组的初始化操作可以采取以下方式: static 类型说明符 数组名[N]={值1,值2,......值N}; 说明: 1、对数组的初始化操作只能在定义数组时进行。 2、N表示数组含有的元素个数(可以是常量表达式)。 3、大括号中的内容即为数组的初值。值1将赋给第0个元素、值2将赋给第1个元素等等,赋初值后数组内容如下表(以a数组为例): static int a[N]={值1,值2,......值N}; 4、关键字static表示定义了一个静态变量。在C语言中规定,只有静态变量和外部变量可以初始化(将在后面介绍)。但在Turbo C中不加关键字static也可对变量进行初始化。 5、可以只给最前一部分数组元素赋初值。 6、如果想使数组中的元素全部被赋为0时,可以这样: static int a[N]={0,0,0,......,0,0}; (要写N个0) 或者写成这样: static int a[N]={0}; (只写一个0) 7、在对数组元素全部赋初值时,可以不指定数组的大小。