根據關鍵字的作用,可以將關鍵字分爲數據類型關鍵字和流程控制關鍵字兩大類。 <math.h> 數學函數庫使用的各種定義 <setjmp.h> 支持非局部跳轉 <signal.h> 定義信號值 <stdarg.h> 支持可變長度的變元列表 <stddef.h> 定義常用常數 <stdio.h> 支持文件輸入和輸出 <stdlib.h> 其他各種聲明 <string.h> 支持串函數 <time.h> 支持系統時間函數 C99新增的頭文件和庫 <complex.h> 支持複數算法 <fenv.h> 給出對浮點狀態標記和浮點環境的其他方面的訪問 <inttypes.h> 定義標準的、可移植的整型類型集合。也支持處理最大寬度整數的函數 <iso646.h> 首先在此1995年第一次修訂時引進,用於定義對應各種運算符的宏 <stdbool.h> 支持布爾數據類型類型。定義宏bool,以便兼容於C++ <stdint.h> 定義標準的、可移植的整型類型集合。該文件包含在<inttypes.h>中 <tgmath.h> 定義一般類型的浮點宏 <wchar.h> 首先在1995年第一次修訂時引進,用於支持多字節和寬字節函數 <wctype.h> 首先在1995年第一次修訂時引進,用於支持多字節和寬字節分類函數 1 數據類型關鍵字 A基本數據類型(5個) void :聲明函數無返回值或無參數,聲明無類型指針,顯式丟棄運算結果 char :字符型類型數據,屬於整型數據的一種 int :整型數據,通常爲編譯器指定的機器字長 float :單精度浮點型數據,屬於浮點數據的一種 double :雙精度浮點型數據,屬於浮點數據的一種 B 類型修飾關鍵字(4個) short :修飾int,短整型數據,可省略被修飾的int。 long :修飾int,長整形數據,可省略被修飾的int。 signed :修飾整型數據,有符號數據類型 unsigned :修飾整型數據,無符號數據類型 C 複雜類型關鍵字(5個) struct :結構體聲明 union :共用體聲明 enum :枚舉聲明 typedef :聲明類型別名 sizeof :得到特定類型或特定類型變量的大小 D 存儲級別關鍵字(6個) auto :指定爲自動變量,由編譯器自動分配及釋放。通常在棧上分配 static :指定爲靜態變量,分配在靜態變量區,修飾函數時,指定函數作用域爲文件內部 register :指定爲寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數 extern :指定對應變量爲外部變量,即標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。 const :與volatile合稱“cv特性”,指定變量不可被當前線程/進程改變(但有可能被系統或其他線程/進程改變) volatile :與const合稱“cv特性”,指定變量的值有可能會被系統或其他進程/線程改變,強制編譯器每次從內存中取得該變量的值