C語言陣列


C語言中的陣列是一組或多個元素(資料)。C語言陣列的所有元素是均勻的(相似)或是相同型別。它具有連續的記憶體位置。

如果必須儲存類似的元素,在C語言中使用陣列是非常用好處的。假設你必須儲存50名學生的記錄,一種方法是分配50個變數,這麼變數這是難以管理的。 例如,我們不能僅使用幾行程式碼來表示或存取這些變數的值。

另一種方法是使用陣列。通過使用陣列,我們可以輕鬆存取這些元素。只需要幾行程式碼來存取陣列的元素。

陣列的優點

  1. 程式碼優化:存取資料可使用較少的程式碼。
  2. 易於遍歷資料:通過使用for迴圈,可以輕鬆地檢索陣列的元素。
  3. 易於排序資料:要排序陣列的元素,只需要幾行程式碼。
  4. 隨機存取:可以使用陣列隨機存取任何元素。

陣列的缺點

  1. 固定大小:無論什麼大小,在宣告陣列時都要先規定大小,而且元素個數不能超過事先定義的大小。陣列它不能動態地增長大小,我們稍後會學習。

陣列宣告

我們可以用以下方式在C語言中宣告一個陣列。

data_type array_name[array_size];

現在,下面來看看一下宣告陣列的例子。

int marks[5];

這裡,intdata_type也就是陣列儲存資料的型別,marksarray_name,用來表示陣列的名稱,5array_size表示最多只能儲存5元素,即:5int型別的資料。

陣列初始化

通過索引初始化陣列的一種簡單方法。請注意,陣列索引從0開始,以[SIZE - 1]結尾。

int marks[5];  

marks[0]=80;// 初始化陣列的每個元素的值
marks[1]=60;  
marks[2]=70;  
marks[3]=85;  
marks[4]=75;

每個元素初始化後,如下圖所示-

陣列範例

為了演示如何使用陣列,我們建立一個名稱為:array-example.c的原始檔,其程式碼如下所示 -

#include <stdio.h>    

void main() {
    int i = 0;
    int marks[5];//declaration of array  

    marks[0] = 80;//initialization of array  
    marks[1] = 60;
    marks[2] = 70;
    marks[3] = 85;
    marks[4] = 75;

    // 遍歷陣列
    for (i = 0;i<5;i++) {
        printf("%d \n", marks[i]);
    }//end of for loop  

}

執行上面程式碼,得到以下結果 -

80
60
70
85
75

陣列宣告和初始化

我們可以在宣告時初始化陣列,來看看下面的程式碼 -

int marks[5]={20,30,40,50,60};

在這種情況下,不需要定義大小。所以也可以寫成如下程式碼 -

int marks[]={20,30,40,50,60};

讓我們來看看完整的程式,在C中宣告和初始化陣列。建立一個名稱為:array-declare-and-initialize.c的原始檔,其程式碼如下所示 -

#include <stdio.h>    

void main() {
    int i = 0;
    int marks[5] = { 20,30,40,50,60 };//declaration and initialization of array  

    //traversal of array  
    for (i = 0;i<5;i++) {
        printf("%d \n", marks[i]);
    }

}

執行上面程式碼,得到以下結果 -

20
30
40
50
60