C語言數組相關知識

今天來談談與數組相關的知識。


一、解析一維數組的創建和初始化 

1.int a[10];//創建一個大小爲10個整型元素的數組。

2.int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};//創建一個大小爲10個整型元素的數組並初始化

3.int a[10] = {0, 1, 2, 3, 4};//創建一個大小爲10個整型元素的數組並部分初始化,未初始化部分全部補零

4.int a[] = {0, 1, 2, 3, 4};//創建一個數組並初始化,初始化後素組大小爲5個整型元素。

5.int a[];//不能這樣創建數組(不指定大小且不初始化)。


二、一維數組的使用

若有int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

則有a[0] == 0; a[1] == 1; a[2] == 2; ……


三、一維數組的存儲 

數組元素順序存放。


四、一維數組的指針訪問

數組名是指針,指針指向數組的首地址。

若int a[10];

則有a == &a[0]; *a == a[0];  *(a+1) == a[1]; ……


五、解析二維數組的創建和初始化

int a[2][3];//創建一個二維數組

int a[2][3] = {{0, 1, 2}, {3, 4, 5}};//創建一個二維數組並分行初始化

int a[2][3] = {0, 1, 2, 3, 4, 5};//創建一個二維數組並不分行初始化

int a[2][3] = {{0, 1}, {3}};//創建一個二維數組並分行部分初始化,其餘自動補零

int a[2][3] = {0, 1, 2, 3};//創建一個二維數組並不分行部分初始化,其餘自動補零

int a[][3] = {0, 1, 2, 3, 4, 5};//創建一個二維數組並初始化,默認爲兩行

int a[][] = {0, 1, 2, 3, 4, 5}; int a[2][] ={0, 1, 2, 3, 4, 5};//不能這樣創建數組


六、二維數組的使用

若有int a[2][3] = {0, 1, 2, 3, 4, 5};

則有a[0][0] == 0; a[0][1] == 1; a[0][2] = 2; a[1][0] == 3; a[1][1] == 4; a[1][2] == 5;


七、二維數組的存儲

若有a[2][3]

則按照a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]、a[1][2]的順序儲存(行優先)


八、二維數組的指針訪問

若有a[2][3]

則有a爲第一行的地址,a+1爲第二行的地址,*(a+1)+1爲第二行第二列元素的地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章