close

陣列就是一次宣告很多變數
為什麼要一次宣告很多變數?假設要寫輸入一千筆資料,且每筆資料都要交互運算,那要設int a1,a2,a3....a10000嗎,然後這時候後面的數字不可以是變數,比方說我用一個ai但是你並沒有宣告ai這個變數,但如果使用陣列,就可以填入索引a[i]這樣就會自動變成第i個a
宣告

類型 陣列名稱[長度];
int arr[20];//int 陣列

陣列等同於宣告長度那麼多個變數,只要在中括號內填入數字(也可以是變數),就可以取得變數
陣列的索引是由0~長度-1也就是假如我宣告長度20的arr陣列,則arr[0]~arr[19]存在,arr[20]不存在。
二維陣列
二維陣列跟一維振烈的概念相同,也是宣告很多個變數,只是這個陣列存在兩個索引,所以有平面的感覺
宣告

類型 陣列名稱[長度1][長度2];
long looooooooong[999][5];//long 2維陣列

因為C語言並不實際支援二維陣列,所以二維陣列是由一維陣列模擬的,所以後方括號省略可以單獨形成一維陣列,則該一維陣列為每個第二維陣列
N維陣列
宣告

類型 陣列名稱[長度1][長度2]......[長度n];
char str[20][40][60][80][100];//char 5維陣列

概念同上
初始值
陣列宣告後,與變數相同,可以給予初始值,每個維度用一個大括號包含(一個Set),每個變數的值(一個element)用一個逗號隔開,形成集合表達方式,越後方的中括號為前面中括號的子集合(subset)

類型 陣列名稱[長度]={內容1,內容2,...,內容n}//一維陣列 初始值
類型 陣列名稱[長度1][長度2]={{內容1,內容2,...,內容n(長度2)},{內容1,內容2,....,內容n(長度2)},...,{內容1,內容2,....,內容n(長度2)}(長度1)}//二維陣列 初始值
//...以此類推
int arr[6]={0,1,2,3,4,5};
int arr[3][2]={{0,1},{2,3},{4,5}};
char arr[2][4][3]={{{'s','o',',',},{'n','a','w'},{'a','n','a'},{'w','a','i'}},{{'c','o','o'},{'l','f','a'},{'c','e','b'},{'o','o','k'}}}
arrow
arrow
    文章標籤
    C語言 陣列 Array
    全站熱搜

    繩繩 發表在 痞客邦 留言(0) 人氣()