auto | else | long | switch |
break | enum | register | typedef |
case | extern | restrict | union |
char | float | return | unsigned |
const | for | short | void |
continue | goto | signed | volatile |
default | if | sizeof | while |
do | inline | static | |
double | int | struct |
依用途區分,可分為六大類,分別是
型態指定詞
C 語言關鍵字中的型態指定詞有
- void
- char
- short
- int
- long
- float
- double
- signed
- unsigned
- struct
- union
- enum
- typedef
基本資料型態分成三大類,整數、浮點數跟字元,如下表
資料型態 | 關鍵字 |
---|---|
整數 | short int long |
浮點數 | float double |
字元 | char |
signed 、 unsigned 可用為修飾整數及字元兩種資料型態,前者宣告其值為帶有正負號的整數,後者則宣告其值為不帶正負號的整數。
請參考 C 語言的基本資料型態有更詳細的敘述。
衍生資料型態,結構使用 struct 宣告及定義,聯合則用 union 宣告及定義,而列舉常數則用 enum 宣告及定義。關鍵字 typedef 可將已定義的資料型態取別名,簡便往後的使用。
請參考 C 語言的衍生資料型態有更詳細的敘述。
void 可用為宣告沒有回傳值的函數,或表示為具有空參數列的函數。
型態修飾詞
C 語言關鍵字中的型態修飾詞有
- const
- restrict
- volatile
這三個型態修飾詞的目的都是為了達到記憶體利用的最佳化。最常用的是 const ,其將資料宣告為常數,同時賦予初值後不可再做更改。
宣告為 volatile 的變數,係指程式每一次用到這個變數都須重新讀取,因為可能會被其宣告範圍外的程式修改。而 restrict 是 C99 增加的關鍵字,用在指標型態的變數上,目前各編譯器支援不一。
請參考 C 語言的宣告有更詳細的敘述。
儲存類別指定詞
C 語言關鍵字中的儲存類型指定詞有
- auto
- extern
- register
- static
C 儲存類別有兩種,一種為自動型,使用關鍵字 auto 或 register ,編譯器會替宣告為 auto 的變數保留記憶體空間, auto 也為預設值,這是說編譯器會主動把沒有加入儲存類別指定詞的變數設為自動型。而編譯器會將宣告為 register 的變數放入暫存器中,以加快程式的執行。
另一種為靜態型,使用關鍵字 static ,同樣的,編譯器會替宣告為 static 的變數保留記憶體空間,同時其值會一直保留到程式結束。
extern 用於該變數名稱已在其他地方定義,這是做外部連結之用。
請參考 C 語言的宣告有更詳細的敘述。
函數類型指定詞
C 語言關鍵字中的函數類型指定詞有
- inline
特殊的 inline 函數,可加快程式的執行。
請參考 C 語言的 inline 函數有更詳細的敘述。
控制陳述
C 語言關鍵字中的控制陳述有
- break
- case
- continue
- default
- do
- else
- for
- goto
- if
- switch
- return
- while
控制陳述大致上可分為選擇及迴圈兩大類。選擇控制有 if 、 if-else 、 多重 if-else 連用、 switch-case-deaflaut 等幾種,皆依條件而有不同的執行方向。
迴圈控制有 for 、 while 、 do-while 三種,前二種屬於前測式的迴圈,最後一種 do-while 則是屬於後測式的迴圈。 break 用於跳出迴圈,而 continue 用於跳過這次迴圈的執行,直接進行下一輪的執行。
請參考 C 語言的控制結構有更詳細的敘述。
運算子
C 語言關鍵字中的運算子有
- sizeof
關鍵字 sizeof 用為計算資料所佔的位元組數,通常在需要動態分配記憶體空間時用到。
請參考 C 語言的運算子有更詳細的敘述。
1 則留言:
請問站長:
在【控制陳述】中的這句「switch-case-deaflaut 等幾種」……
不知「deaflaut」一字是否為筆誤呢?
感謝你的無私奉獻。
張貼留言