C語言筆記(3)switch 迴圈結構 陣列備忘

2021-08-20 04:48:51 字數 1120 閱讀 7145

記錄一些貧僧可能會忘記的東東。

case如果後面沒有加break的話會一直繼續向下執行,而不是直接跳出switch選擇。

例子:

switch(grade)

執行到switch的時候會把gradecase後面的常量進行比較,沒有匹配的就執行default後面的指令。

do while記得在while後面加;

陣列名本身就是位址(貧僧聽說編譯器會在編譯的時候把陣列名換成記憶體位址,沒有驗證這個說法,不過這樣的話就可以理解為什麼scanf的時候陣列名前不需要&,陣列名可以直接賦值給指標變數)。

一定要記得結合記憶體操作來理解指標。

在用指標訪問二維陣列的時候是先行後列,例如*(p + 1) + 2就是第1行第2列的位址,*(*(p + 1) + 2))就是這個位址裡面的內容。(聽說不建議這樣用)

其實函式名也是個位址,所以可以直接p = max(),然後(* p)()來呼叫max()。不過要記得先定義好,例如int (*p) (int, int)對應int max (int a, int b)

char * a = "boo";時,賦給字元指標的是字串的第乙個位址,等價於

char *a

;a = "boo"

;

但是字元陣列初始化時賦值char str[4] = "boo";不等價於

char

str[4];

str = "boo";

陣列可以在定義時對各元素賦初值,但是不能對字元陣列裡面所有元素進行整體賦值。

另乙個區別:

編譯時字元陣列會被分配若干儲存單元,而字元指標只分配乙個。

定義了字元指標後要及時指定指向,不然可能會指向存放了有用資料的記憶體段,後果可能很嚴重。具體的可以看看這個。

C語言入門(四)之switch 迴圈語句

switch格式 switch 條件表示式 如何結束switch語句 1.遇到break 2.執行到switch對應的大括號的結束 switch的條件表示式必須是返回整數的表示式,也就是說 中只能放整數。或者寫能夠轉換為整數的型別也可以,例如char,因為char型別可以轉換為int型別,所以寫ch...

C語言迴圈結構 3

1 while迴圈 while 迴圈條件 1 1.定義迴圈變數 2int time 1 3 2.迴圈條件 4while time 3 練習 列印1 100之間所有的數 1 int number 1 2 while number 100 2 do.while迴圈 do while 迴圈條件 1 int...

C語言筆記3

學習一直都是乙個循序漸進的過程,我每天看一些c語言學習資料,c語言的書,一點一點的記錄下來,讓我一點一點進步。今天要學習的知識關於c語言的特點,這些知識我們也可以在c語言論壇或者有關c語言高階書籍找到。c語言的特點是 1 c語言是一種結構化的程式語言,語言本身簡潔 使用靈活方便。既適用於設計和編寫大...