C 速查手冊
C 速查手冊 - 1.2 關鍵字
關鍵字 (keyword) 為具有語法功能的保留字, C 語言的關鍵字共有 34 個,如以下列表
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
基本資料型態分成三大類,整數 (integer) 、浮點數 (floating-point number) 跟字元 (character) ,如下表
資料型態 | 關鍵字 |
---|---|
整數 | short int long |
浮點數 | float double |
字元 | char |
signed 、 unsigned 可用為修飾整數及字元兩種資料型態,前者宣告其值為帶有正負號的整數,後者則宣告其值為不帶正負號的整數。
衍生資料型態,結構 (structure) 使用 struct 宣告及定義,聯合 (union) 則用 union 宣告及定義,而列舉常數則用 enum 宣告及定義。關鍵字 typedef 可將已定義的資料型態取別名,簡便往後的使用。
void 可用為宣告沒有回傳值的函數,或表示為具有空參數列的函數。
型態修飾詞
C 語言關鍵字中的型態修飾詞有
- const
- restrict
- volatile
這三個型態修飾詞的目的都是為了達到記憶體利用的最佳化。最常用的是 const ,其將資料宣告為常數 (constant) ,同時賦予初值後不可再做更改。
宣告為 volatile 的變數 (variable) ,係指程式每一次用到這個變數都須重新讀取,因為可能會被其宣告範圍外的程式修改。而 restrict 是 C99 增加的關鍵字,用在指標 (pointer) 型態的變數上,目前各編譯器 (compiler) 支援不一。
儲存類別指定詞
C 語言關鍵字中的儲存類型指定詞有
- auto
- extern
- register
- static
C 儲存類別有兩種,一種為自動型,使用關鍵字 auto 或 register ,編譯器會替宣告為 auto 的變數保留記憶體空間, auto 也為預設值,這是說編譯器會主動把沒有加入儲存類別指定詞的變數設為自動型。而編譯器會將宣告為 register 的變數放入暫存器中,以加快程式的執行。
另一種為靜態型,使用關鍵字 static ,同樣的,編譯器會替宣告為 static 的變數保留記憶體空間,同時其值會一直保留到程式結束。
extern 用於該變數名稱已在其他地方定義,這是做外部連結之用。
函數類型指定詞
C 語言關鍵字中的函數類型指定詞有
- inline
特殊的 inline 函數,可加快程式的執行。
控制陳述
C 語言關鍵字中的控制陳述有
- break
- case
- continue
- default
- do
- else
- for
- goto
- if
- switch
- return
- while
控制陳述 (control flow) 大致上可分為選擇及迴圈兩大類。選擇控制有 if 、 if-else 、 多重 if-else 連用、 switch-case-deaflaut 等幾種,皆依條件 (condition) 而有不同的執行方向。
迴圈控制有 for 、 while 、 do-while 三種,前二種屬於前測式的迴圈,最後一種 do-while 則是屬於後測式的迴圈。 break 用於跳出迴圈,而 continue 用於跳過這次迴圈的執行,直接進行下一輪的執行。
運算子
C 語言關鍵字中的運算子有
- sizeof
關鍵字 sizeof 用為計算資料所佔的位元組數,通常在需要動態分配記憶體空間時用到。