C語言之數組

什麼是數組

      在程序設計中,使用x[0]、x[1]、x[2].....x[n]表示的一組具備相同數據類型的變量集合稱爲數組x,數組中的每一項稱爲數組元素,每一個元素都有對應的下標(n),用於標示元素在數組中的位置序號,該下標是從0開始的。數組

一維數組

        一維數組的定義與初始化

        一維數組指的是隻有一個下標的數組,它用來表示一組具備相同類型的數據。在C語言中,一維數組的定義方式以下表示:
             類型說明符  數組名[常量表達式];
             在上述語法格式中,類型說明符表示數組中全部元素的類型,常量表達式指的是數組的長度,也是就是數組中存放元素的個數。例如:int array[6]; 此定義了一個長度爲6的int 類型的數組。完成數組定義後只是在內存中開闢了一塊空間,並無初始化,若是想要試用數組,還必需要初始化,數組的初始化有如下三種狀況:spa

  1. 直接對數組中的全部元素賦值,示例代碼以下
    int i[6] = {1, 2, 3, 4, 5, 6};
  2. 只對數組中的一部分元素賦值,示例代碼以下:
    int i[6] = {1, 2, 3};
    上述代碼只對數組的前三個元素進行了賦值,其它元素的值會被默認置爲0.
  3. 對數組所有元素賦值,但不指定長度,示例代碼以下:
    int i[] = {1, 2, 3, 4, 5, 6};
    在上述代碼中,數組i中的元素有6個,系統會根據給定初始化元素的個數定義數組的長度,所以,數組i的長度爲6.

       一維數組的引用
            在程序中常常須要訪問數組中的一些元素,這時能夠經過數組名和下標來應用數組中的元素。一維數組元素的引用方式以下:
            數組名[下標]; 下標指的是數組元素的位置,數組元素的下標是從0開始的。例如,引用數組x的第2個元素的方式爲x[1];設計

       一維數組的遍歷
           在操做數組時,常常須要依次訪問數組中的每一個元素,這種操做稱爲數組的遍歷。以下所示,利用for循環遍歷數組:code

#include <stdio.h>

int main(int argc, const char * argv[]) {

    int x[6] = {1, 2, 3, 4, 5, 6};
    
    for (int i = 0; i < 6; i++) {
        printf("%d\n", x[i]);
    }
}
運行結果:
1
2
3
4
5
6
Program ended with exit code: 0

注意:數組的下表是從0開始的內存

二維數組

        二維數組的定義與初始化
              在實際工做中,僅僅使用一維數組是遠遠不夠的。好比點的座標,一個點的兩個座標x,y若是僅僅只用一維數組表示是遠遠不夠的。這時可使用而爲數組,二維數組的定義方式與一維數組相似,其語法格式以下:
        類型說明符  數組名[常量表達式1][常量表達式2];
        在上述表達式中「常量表達式1」被稱爲行下標,「常量表達式2」被稱爲列下標。
        完成二維數組的定義後,須要對二維數組進行初始化,初始化二維數組的方式有四種,具體以下:開發

  1. 按行給二維數組賦初值。例如
    int a[2][3] = {{1,2,3}, {4,5,6}};  等號後面的大括號內,第一個括號表明第一行的數組元素,第二個括號表明第二行的數組元素。
  2. 將全部的數組元素按行順序寫在一個大括號內。例如
    int a[2][3] = {1, 2, 3, 4, 5, 6};   此代碼二維數組a共有兩行,每行有三個元素了,其中,第一行的元素依次爲一、二、3,第二行元素依次爲四、五、6.
  3. 對部分數組元素賦初值。例如:
    int b[3][4] = {{1}, {2, 3}, {4, 5, 6}}; 此代碼只爲b數組部分元素進行了賦值,對於沒有賦值的元素系統會自動賦值爲0。
  4. 若是對所有數組元素賦初值,則二維數組的第一個下標可省略,但第二個下表不能省略。例如:
    int a[2][3] = {1, 2, 3, 4, 5, 6};  能夠寫成爲:int a[][3] = {1, 2, 3, 4, 5, 6}; 系統會根據固定的列數,將後邊的數值進行劃分,自動將行數定位2.

    二維數組的引用it

         二維數組的引用方式同一維數組的引用方式同樣,也是經過數組和下標的方式來引用數組元素,其語法格式以下:
         數組名[下標][下標];io

    二維數組的遍歷
          二維數組的遍歷同一維數組相似,依次訪問數組中的每一個元素,只是二維數組須要用兩個循環,控制行,列。才能遍歷出數組中的每一個元素以下:for循環

#include <stdio.h>

int main(int argc, const char * argv[]) {

    int x[][3] = {1, 2, 3, 4, 5, 6};
    
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d ", x[i][j]);
        }
        printf("\n");
    }
}
運行結果:
1 2 3 
4 5 6 
Program ended with exit code: 0

 以上代碼爲二維數組賦初值,符合第四條,對所有元素進行賦初值,則二維數組的第一個下表可省略,第二個不能省略。外部循環控制行,內部循環控制列,依次遍歷數組中的每個元素。程序設計

多維數組        在計算機中,除一維數組和二維數組外,還有三維,四維,....等多維數組,它們用在某些特定程序開發中,多維數組的定義與二維數組相似,其語法格式具體以下:        數據類型修飾符 數組名[n0][n1]...[nn];        定義一個三維數組的示例代碼以下:        int x[3][2][3];        上面的這個例子,定義了一個三維數組,數組的名字叫x,數組的長度爲3,每一個數組的元素又是一個二維數組,這個二維數組的長度是2,而且這個二維數組的每一個元素又是一個一維數組,這個一維數組的長度是3,元素類型是int.        多維數組在實際的工做中使用很少,而且使用方法與二維數組類似。

相關文章
相關標籤/搜索