C語言中的關鍵字是C語言編譯器事先定義的、具有特定意義的識別符號,它們用於構成C語言程式的基本框架。C語言一共有32個關鍵字,根據它們的作用,可以將這些關鍵字分為資料型別關鍵字、控制語句關鍵字、儲存型別關鍵字和其它關鍵字四類。以下是這些關鍵字的詳細解釋:
一、資料型別關鍵字(12個)
-
char:宣告字元型變數或函式。字元型資料佔用一個位元組(8位)的儲存空間,用於儲存字元(如字母、數字、符號等)。
-
double:宣告雙精度浮點型變數或函式。雙精度浮點型資料佔用更多的儲存空間(通常是64位),以提供更高的精度。
-
enum:宣告列舉型別。列舉是一種使用者定義的型別,它包含一組命名的整型常量。
-
float:宣告單精度浮點型變數或函式。單精度浮點型資料佔用較少的儲存空間(通常是32位),但精度較低。
-
int:宣告整型變數或函式。整型資料可以是正數、負數或零,其大小和範圍依賴於編譯器和作業系統。
-
long:宣告長整型變數或函式。長整型資料通常比普通的整型資料佔用更多的儲存空間,以支援更大的數值範圍。
-
short:宣告短整型變數或函式。短整型資料通常比普通的整型資料佔用更少的儲存空間,但數值範圍也相應較小。
-
signed:宣告有符號型別變數或函式。有符號型別資料可以表示正數、負數和零。
-
struct:宣告結構體變數或函式。結構體是一種複合資料型別,可以包含多個不同型別的資料項。
-
union:宣告共用體(聯合)資料型別。共用體是一種特殊的資料型別,允許在相同的記憶體位置儲存不同的資料型別,但每次只能使用其中一種型別。
-
unsigned:宣告無符號型別變數或函式。無符號型別資料只能表示非負數值,因此可以表示的範圍比有符號型別大。
-
void:宣告函式無返回值或無引數,宣告無型別指標。void 型別表示“無型別”,通常用於函式返回型別、函式引數列表和指標型別中。
二、控制語句關鍵字(12個)
-
if:條件語句,用於根據條件執行不同的程式碼塊。
-
else:條件語句的否定分支,與 if 連用。
-
switch:開關語句,用於實現多分支選擇結構。
-
case:開關語句的分支標籤。
-
default:開關語句中的“其他”分支。
-
for:迴圈語句,用於重複執行一段程式碼直到滿足特定條件。
-
do:迴圈語句的迴圈體,do-while 迴圈先執行迴圈體,再判斷迴圈條件。
-
while:迴圈語句的迴圈條件,用於控制 while 迴圈的執行。
-
break:跳出當前迴圈或 switch 結構。
-
continue:結束當前迴圈的剩餘部分,開始下一輪迴圈。
-
goto:無條件跳轉語句,可以跳轉到程式中的任何標籤位置。
-
return:子程式返回語句,用於從函式中返回值或結束函式執行。
三、儲存型別關鍵字(4個)
-
auto:宣告自動變數,預設時編譯器一般預設為 auto。自動變數的儲存期是動態的,隨著函式的呼叫和返回而自動建立和銷燬。
-
extern:宣告變數是在其他檔案正宣告(也可以看做是引用變數)。extern 用於宣告外部變數,即在其他檔案中定義的變數。
-
register:宣告暫存器變數,建議編譯器將變數儲存到暫存器中使用,以提高訪問速度。但暫存器變數的使用受到編譯器和硬體的限制。
-
static:宣告靜態變數。靜態變數具有靜態儲存期,即在整個程式執行期間都存在。靜態變數可以在函式內部或外部宣告,分別具有不同的作用域和連結性。
四、其它關鍵字(4個)
-
const:宣告只讀變數。const 修飾的變數在初始化後不能被修改。
-
sizeof:計算資料型別或變數在記憶體中所佔的位元組數。sizeof 運算子在編譯時計算大小,因此不會引入執行時開銷。
-
typedef:用以給資料型別取別名,增加程式碼的可讀性和可維護性。
-
volatile:說明變數在程式執行中可被隱含地改變,強制編譯器每次從記憶體中讀取變數的值,而不是使用可能儲存在暫存器中的快取值。