char short int long signed unsigned float double struct union enum void
迴圈: for do while break continue 條件: if else 跳轉: goto 開關: switch case default 返回: return
auto register static extern
auto:區域變數預設,極少顯式使用register:建議存入暫存器 (現代編譯器自動優化,多被忽略)static:靜態儲存期/內部連結extern:外部連結宣告const sizeof typedef volatile
const:唯讀限定sizeof:編譯期運算子,得類型/運算式大小 (位元組)typedef:類型別名volatile:防止編譯器優化,用於硬體暫存器/訊號處理/多執行緒共享變數_Bool // 布林類型 (實際為 unsigned int,值 0/1) _Complex // 複數類型 _Imaginary // 純虛數類型 inline // 內聯函數提示 (C++ 風格) restrict // 指標不重疊限定,助編譯器優化
<stdbool.h> 定義 bool、true、false 宏對應 _Bool、1、0。
_Generic // 泛型選擇:編譯期根據類型選擇運算式
#define TYPE_NAME(x) _Generic((x), \
int: "int", \
float: "float", \
double: "double", \
default: "other")
TYPE_NAME(42) → "int"
TYPE_NAME(3.14f) → "float"
TYPE_NAME(3.14) → "double"
#define、#include 不是關鍵字它們是前置處理器指令 (Preprocessing Directives),在編譯器前端處理,不屬於 C 語言核心語法關鍵字。
類型十二控制十二,儲存四個別遺漏。 Const sizeof typedef volatile,共三十六個記心中。 (含 C99/C11 新增)