黑馬程式設計師 C語言學習筆記之陣列(九)

2021-06-20 22:50:23 字數 1469 閱讀 2811

--------------------------------------------ios期待與您交流!--------------------------------------------

1>定義

->格式:型別  陣列名[元素個數]

->裡面的個數必須是乙個固定值,可以是常量(比如6、8)、常量表示式(比如3+4、5*7)。絕對不能使用變數或者變數表示式來表示元素個數,大多數情況下不要省略元素個數

2>初始化
->一般形式是:型別  陣列名[元素個數] = ;

->int a[2] = ;

其實相當於:

int a[2];

a[0] = 8;

a[1] = 10;

->注意:c語言中編譯器是不會對陣列下標越界進行檢查的,所以自己訪問陣列元素時要小心

->元素值列表可以是陣列所有元素的初值,也可以是前面部分元素的初值

int a[4] = ;

->當陣列為整型時,初始化未確定初值的元素,預設為0,所以上面的a[2]、a[3]都為0

->當對全部陣列元素都賦初值時,可以省略元素個數

int a = ;

說明陣列a的元素個數是3

3>一維陣列作為函式引數
->陣列名代表著整個陣列的位址,如果一維陣列的名字作為函式實參,傳遞的是整個陣列,這樣形引數組修改時,實參陣列也同時被修改了。形引數組的元素個數可以省略。
1>二維陣列的定義
->定義形式:型別  陣列名[行數][列數]

->int a[2][3]; // 共2行3列,6個元素

2>二維陣列的初始化
->按行進行初始化

int a[2][3] = , };

->按儲存順序進行初始化(先存放第1行,再存放第2行)

int a[2][3] = ;

->對部分元素進行初始化

int a[2][3] = , };

int b[3][3] = , , };

->如果只初始化了部分元素,可以省略行數,但是不可以省略列數

int a[3] = ;

int a[3] = , , {}};

有些人可能想不明白,為什麼可以省略行數,但不可以省略列數。也有人可能會問,可不可以只指定行數,但是省略列數?其實這個問題很簡單,如果我們這樣寫:

int a[2] = ; // 錯誤寫法

大家都知道,二維陣列會先存放第1行的元素,由於不確定列數,也就是不確定第1行要存放多少個元素,所以這裡會產生很多種情況,可能1、2是屬於第1行的,也可能1、2、3、4是第一行的,甚至1、2、3、4、5、6全部都是屬於第1行的

--------------------------------------------ios期待與您交流!--------------------------------------------

詳細請檢視:

黑馬程式設計師 C語言學習筆記之列舉(十三)

ios期待與您交流!enum 列舉名 c中的列舉非常簡單,它的本質是整型資料,列舉的每個成員都是int型的。enum printf 列舉所佔位元組數 lu n sizeof enum 輸出 列舉所佔位元組數 4 enum 列舉名 變數名 列舉中的成員是從0開始計數的 enum enum man ma...

黑馬程式設計師 C語言學習筆記之指標基礎

ios培訓 android培訓 期待與您交流!1.指標的概念 指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。2 指標的型別。先列出一些指標的型別,簡單的認識一下 1 int ptr 指標的型別是int 2 char ptr 指標的型別是char 3 int ptr 指標的型別是...

黑馬程式設計師 C語言學習筆記之基本程式結構

ios培訓 android培訓 期待與您交流!1.條件語句 像其它語言一樣 c也提供條件語句。在c中條件語句的一 般形式為 if 表示式 語句1 else 語句2 上述結構表示 如果表示式的值為非0 ture 即真,則執行語句1,執行完語 句1從語句2後開始繼續向下執行 如果表示式的值為0 fals...