位置:首頁 > 高級語言 > C語言教學 > 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 <stdio.h>
 
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語言允許函數返回數組
指針數組 可以簡單的通過指定數組名,冇有任何指定索引而產生一個指向數組的第一個元素