鍍金池/ 教程/ C/ C語言數(shù)組
C語言printf()和scanf()函數(shù)
C語言strlen()函數(shù)
C語言指針
C語言ftell()函數(shù)
C語言#ifdef指令
C語言程序執(zhí)行流程
C語言歷史
C語言fprintf()和fscanf()函數(shù)
C語言#define指令
C語言#if指令
C語言將數(shù)組傳遞給函數(shù)
C語言指針的指針
C語言rewind()函數(shù)
C語言常量
C語言strcat()函數(shù)
C語言#ifndef指令
C語言continue語句
C語言注釋
C語言#include指令
C語言類型轉(zhuǎn)換
C語言strcpy()函數(shù)
C語言strlwr()函數(shù)
C語言while循環(huán)
C語言字符串
C語言strrev()函數(shù)
C語言gets()和puts()函數(shù)
C語言文件處理
C語言存儲分類
C語言運算符
C語言數(shù)據(jù)類型
C語言strcmp()函數(shù)
C語言VS開發(fā)環(huán)境安裝
C語言轉(zhuǎn)義序列
C語言第一個程序
C語言變量
C語言goto語句
C語言預(yù)處理器指令
C語言指針算術(shù)運算
C語言數(shù)學函數(shù)
C語言二維數(shù)組
C語言for循環(huán)
C語言命令行參數(shù)
C語言通過值和引用函數(shù)
C語言fputs()和fgets()函數(shù)
C語言do-while循環(huán)
C語言結(jié)構(gòu)體數(shù)組
C語言循環(huán)
C語言#pragma指令
C語言關(guān)鍵字
C語言#error指令
C語言聯(lián)合體
C語言特點
C語言break語句
C語言遞歸
C語言函數(shù)
C語言結(jié)構(gòu)體
C語言switch語句
C語言結(jié)構(gòu)體嵌套
C語言fputc()和fgetc()函數(shù)
C語言fseek()函數(shù)
C語言字符串函數(shù)
C語言if-else語句
C語言教程
C語言宏
C語言數(shù)組
C語言strupr()函數(shù)
C語言#undef指令

C語言數(shù)組

C語言中的數(shù)組是一組或多個元素(數(shù)據(jù))。C語言數(shù)組的所有元素是均勻的(相似)或是相同類型。它具有連續(xù)的內(nèi)存位置。

如果必須存儲類似的元素,在C語言中使用數(shù)組是非常用好處的。假設(shè)你必須存儲50名學生的記錄,一種方法是分配50個變量,這么變量這是難以管理的。 例如,我們不能僅使用幾行代碼來表示或訪問這些變量的值。

另一種方法是使用數(shù)組。通過使用數(shù)組,我們可以輕松訪問這些元素。只需要幾行代碼來訪問數(shù)組的元素。

數(shù)組的優(yōu)點

  1. 代碼優(yōu)化:訪問數(shù)據(jù)可使用較少的代碼。
  2. 易于遍歷數(shù)據(jù):通過使用for循環(huán),可以輕松地檢索數(shù)組的元素。
  3. 易于排序數(shù)據(jù):要排序數(shù)組的元素,只需要幾行代碼。
  4. 隨機訪問:可以使用數(shù)組隨機訪問任何元素。

數(shù)組的缺點

  1. 固定大小:無論什么大小,在聲明數(shù)組時都要先規(guī)定大小,而且元素個數(shù)不能超過事先定義的大小。數(shù)組它不能動態(tài)地增長大小,我們稍后會學習。

數(shù)組聲明

我們可以用以下方式在C語言中聲明一個數(shù)組。

data_type array_name[array_size];

現(xiàn)在,下面來看看一下聲明數(shù)組的例子。

int marks[5];

這里,intdata_type也就是數(shù)組存儲數(shù)據(jù)的類型,marksarray_name,用來表示數(shù)組的名稱,5array_size表示最多只能存儲5元素,即:5int類型的數(shù)據(jù)。

數(shù)組初始化

通過索引初始化數(shù)組的一種簡單方法。請注意,數(shù)組索引從0開始,以[SIZE - 1]結(jié)尾。

int marks[5];  

marks[0]=80;// 初始化數(shù)組的每個元素的值
marks[1]=60;  
marks[2]=70;  
marks[3]=85;  
marks[4]=75;

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

數(shù)組示例

為了演示如何使用數(shù)組,我們創(chuàng)建一個名稱為: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;

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

}

執(zhí)行上面代碼,得到以下結(jié)果 -

80
60
70
85
75

數(shù)組聲明和初始化

我們可以在聲明時初始化數(shù)組,來看看下面的代碼 -

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

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

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

讓我們來看看完整的程序,在C中聲明和初始化數(shù)組。創(chuàng)建一個名稱為: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]);
    }

}

執(zhí)行上面代碼,得到以下結(jié)果 -

20
30
40
50
60