位置:首页 > > C语言数组

C语言数组

C语言编程提供数组的数据结构,其可存储相同类型的元素在一个固定大小的连续集合。数组用于存储数据的集合,但它往往是将数组作为相同类型的变量的集合。

相反,声明单个变量,如number0, number1, ..., 和 number99, 声明一个数组变量,如数字并使用 numbers[0], numbers[1], 和 ..., numbers[99] 表示单个变量。在数组的特定元素由索引进行访问。

所有数组由连续的内存位置。最低的地址对应于第一元素和最高地址为最后一个元素。

Arrays in C

声明数组

在C语言中声明数组,程序员指定元素的类型以及数组所需元件的数目,如下:

type arrayName [ arraySize ];

这就是所谓的一维数组。arraySize必须是一个非零整数常数越大并且类型是任何有效的C语言数据类型。例如,要声明一个10个元素的数组称为double类型的balance数组,使用如下语句:

double balance[10];

现在balance是一个变量数组,其足以容纳高达10双精度数字。

初始化数组

可以通过一个是C语言在任一初始化数组或使用单个声明如下:

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

括号之间的{}数值的个数不能大于声明方括号[]中的数组元素的个数。

如果省略数组的大小,数组被创建时只是大足以容纳初始化数据。因此,如果:

double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

将创建完全相同的数组,在前面的例子中那样。下面是一个例子,分配阵列的单个元素:

balance[4] = 50.0;

以上语句数组中的元素分配数第5个元素的值为50.0。所有数组使用0作为其第一元素,也被称为基本索引;最后一个索引的索引是该数组的总大小减去1以下是上面讨论的相同的数组的图形表示:

Array Presentation

访问数组元素

一个元素由索引数组名访问。这是由放置在方括号内的元素的索引数组的名称后进行。例如:

double salary = balance[9];

以上语句将10个元素的数组赋值给变量salary。以下是其中将使用所有上述三个概念即一个例子。声明,分配和访问数组:


#include 
 
int main ()
{
   int n[ 10 ]; /* n is an array of 10 integers */
   int i,j;
 
   /* initialize elements of array n to 0 */         
   for ( i = 0; i < 10; i++ ) { n[ i ] = i + 100; /* set element at location i to i + 100 */ } /* output each array element's value */ for (j = 0; j < 10; j++ ) { printf("Element[%d] = %d ", j, n[j] ); } return 0; }


让我们编译和运行上面的程序,这将产生以下结果:


Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109


C语言数组详述

在C语言中数组是很重要,应该需要大量的更多的细节介绍。有下列关系到数组几个重要的概念C程序员应该是清楚:

概念 描述
多维数组 C语言支持多维数组。多维数组的最简单的形式是二维数组
函数传递数组 可以通过指定数组的名称没有索引传递给函数的指针数组
函数返回数组 C语言允许函数返回数组
指针数组 可以简单的通过指定数组名,没有任何指定索引而产生一个指向数组的第一个元素