C89 標準定義 32 個關鍵字 (C99 新增 inline、restrict、_Bool、_Complex、_Imaginary 共 37 個)。按功能分為四大類,助你快速定位語法角色。
一、數據類型關鍵字 (12 個)
| 關鍵字 | 用途 |
char | 字符型 (1 字節) |
short | 短整型 (≥16 位) |
int | 基本整型 (≥16 位) |
long | 長整型 (≥32 位) |
float | 單精度浮點 |
double | 雙精度浮點 |
signed | 有符號修飾 (默認) |
unsigned | 無符號修飾 |
struct | 結構體聲明 |
union | 聯合體聲明 |
enum | 枚舉類型聲明 |
void | 無類型 / 無返回值 / 通用指針 |
二、控制語句關鍵字 (12 個)
循環 (5)
for、while、do — 循環結構
break — 跳出當前循環/switch
continue — 結束本輪進入下輪
條件 (3)
if、else — 分支
goto — 無條件跳轉 (慎用)
開關 (3)
switch、case、default — 多路分支
返回 (1)
三、存儲類別關鍵字 (4 個)
| 關鍵字 | 含義 | 典型場景 |
auto | 自動變量 (默認,極少顯式用) | 塊內局部變量 |
register | 請求寄存器存儲 | 極熱點局部變量/參數 |
static | 靜態存儲 / 內部鏈接 | 靜態局部、文件級全局、類靜態成員 |
extern | 外部聲明 / 外部鏈接 | 跨文件共享變量/函數 |
四、其他關鍵字 (4 個)
| 關鍵字 | 核心作用 |
const | 只讀限定 (編譯期強制) |
volatile | 防優化,告知編譯器值可能意外改變 (硬件寄存器/信號處理/多線程) |
sizeof | 編譯期求類型/對象佔用字節數 (運算符) |
typedef | 類型別名 (非宏,語義級,支持作用域) |
五、C99/C11 新增關鍵字 (補充)
_Bool、_Complex、_Imaginary — 新類型
inline — 內聯提示
restrict — 指針無別名優化提示
_Alignas、_Alignof、_Atomic、_Generic、_Noreturn、_Static_assert、_Thread_local (C11)
掌握 32 核心關鍵字分類,是閱讀寫作標準 C 代碼的基石。