標識符 是程式設計師自定義的名稱:變數、函式、結構體標籤、聯合標籤、列舉常數、宏名稱、標號。
關鍵字 是語言保留、有特殊含義的單詞,不可作標識符使用。
| 類別 | 關鍵字 |
|---|---|
| 基礎類型 | int, char, short, long, float, double, void, _Bool, _Complex, _Imaginary |
| 類型修飾 | signed, unsigned, const, volatile, restrict, _Atomic |
| 儲存類別 | auto, register, static, extern, _Thread_local |
| 結構/聯合/列舉 | struct, union, enum, typedef |
| 流程控制 | if, else, switch, case, default, for, while, do, break, continue, goto, return |
| 其他 | sizeof, typeof (C23), alignas, alignof, _Generic, _Static_assert, _Noreturn |
| 實體 | 慣例 | 範例 |
|---|---|---|
| 變數/函式 | snake_case | user_count, calculate_total |
| 宏常數/列舉值 | UPPER_SNAKE_CASE | MAX_BUFFER_SIZE, ERROR_TIMEOUT |
| 結構體/聯合/列舉標籤 | PascalCase 或 snake_case_t | Node, ListNode, list_node_t |
| 類型定義 | _t 後綴 snake_case | uint32_t, size_t, pthread_mutex_t |
| 檔案作用域 static | 模組前綴_ | parser_init, lexer_tokenize |
int 2count = 0; // 錯誤:數字開頭
int for = 1; // 錯誤:關鍵字
int my-variable = 2; // 錯誤:連字符非法
int _Alignas = 3; // 警告:保留標識符
int __private = 4; // 警告:雙底線保留