首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C 語言基礎教程(二):關鍵字與識別符完整規範

     編輯:C 語言基礎

關鍵字:編譯器保留的專用標記

關鍵字在 Turbo C 2.0 (ANSI C 89 擴展) 中共 43 個,分為 ANSI 標準 (32) 與 Borland 擴展 (11) 兩類。它們不可作為變數、函數、標號等識別符名稱。

ANSI C 標準關鍵字 (32)

auto     double   int      struct
break    else     long     switch
case     enum     register typedef
char     extern   return   union
const    float    short    unsigned
continue for      signed   void
default  goto     sizeof   volatile
do       if       static   while

Turbo C 2.0 擴展關鍵字 (11) —— 針對 8086 分段架構

asm      _cs      _ds      _es      _ss      cdecl
far      near     huge     interrupt pascal
  • far/near/huge:指標記憶體模型修飾詞
  • interrupt:中斷服務常式 (ISR) 宣告
  • pascal/cdecl:呼叫慣例控制
  • _cs/_ds/_es/_ss:段暫存器偽變數

識別符命名規則:Turbo C 2.0 規範

規則說明
首字元英文字母 (A-Z, a-z) 或底線 _
後續字元字母、底線、數字 (0-9)
大小寫敏感Count、count、COUNT 為三個不同識別符
有效長度前 32 字元 唯一識別 (超過部分被忽略)
不可使用關鍵字 (含擴展)

合法 vs 非法範例

合法 ✓非法 ✗原因
smart5smart首字元為數字
_decisionbomb?含特殊字元 ?
key_boardkey.board含點號 .
FLOATfloat關鍵字 (大小寫不同視為合法)

實務命名慣例 (現代 C 專案通用)

  • 變數/函數:snake_case (如 max_retry_count)
  • 常數/巨集:UPPER_SNAKE_CASE (如 MAX_BUFFER_SIZE)
  • 型別/結構:PascalCase 或 _t 後綴 (如 ListNode_t)
  • 私有/內部:前綴 _ 或 __ (保留給實作,用戶代碼避免使用)
  • 避免:單字元名稱 (除迴圈索引)、過度縮寫、中英混雜。

編譯器擴展關鍵字的現代對應

Turbo C 2.0現代 GCC/Clang/MSVC備註
far/near/huge平坦記憶體模型,不再需要64-bit 系統預設 64-bit 指標
interrupt__attribute__((interrupt)) / __interrupt平台相關
pascal__stdcall (Windows) / __attribute__((stdcall))呼叫慣例
cdecl預設呼叫慣例C 宣告慣例
asm__asm__ / __asm內聯組語語法不同

掌握關鍵字與識別符規則,是撰寫可移植、無警告、符合規範 C 代碼的基石。現代專案建議啟用 -std=c11 -pedantic -Wall -Wextra,讓編譯器自動攔截非標準用法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved