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

C Primer Plus 筆記:C程序結構、預處理與關鍵字核心概念

     編輯:關於C

整理自《C Primer Plus》核心基礎章節:典型程序結構、預處理機制、頭文件與庫的關係、關鍵字保留字,適合初學者建立正確心智模型。

典型 C 程序結構


#include <stdio.h>   // 預處理指令

int main(void) {     // 主函數(程序入口)
    // 函數體:語句序列
    printf("Hello, World!\n");
    return 0;
}

組成要素

  • 一個或多個函數,必須有 main
  • 函數 = 函數頭 + 函數體(花括號包裹)
  • 語句以分號結束
  • 函數名後跟圓括號(可空)

預處理器與 #include

#include <stdio.h>
  • #include 是預處理指令,非 C 語句
  • 預處理階段:文本替換、文件包含、巨集展開
  • stdio.h:標準輸入輸出頭文件,含 printf 等函數聲明
  • 頭文件只含聲明/巨集,**實現代碼在預編譯庫文件中**
  • 鏈接器負責找到庫代碼並合併

頭文件 vs 庫文件

頭文件 (.h)庫文件 (.lib/.a/.so/.dll)
函數原型聲明函數實現機器碼
巨集/常量定義編譯後二進制
類型定義不含源碼
編譯期需要鏈接期需要

關鍵字與保留標識符

  • 關鍵字 = C 語言詞彙,不可作變量名
  • 類型關鍵字:int、float、double、char、void...
  • 控制流:if、else、switch、case、for、while、do...
  • 其他:return、sizeof、struct、union、enum、typedef、const、static、extern...
  • 嘗試用關鍵字做變量名 → 編譯器語法錯誤

庫代碼實現位置示意

源碼 main.c
    ↓ 預處理 (展開 #include, #define)
擴展源碼
    ↓ 編譯
目標文件 main.o
    ↓ 鏈接 (合併 libc 等庫)
可執行文件 a.out

常見誤區澄清

學習建議

  • ✅ 熟記 C99/C11 關鍵字表(共 37/44 個)
  • ✅ 理解「聲明 vs 定義」:聲明不分配空間,定義分配
  • ✅ 養成 int main(void) 規範寫法
  • ✅ 閱讀編譯器錯誤信息,定位行號與錯誤碼
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
誤區正確理解
頭文件含函數代碼只含聲明,實現在庫
#include 是 C 語句是預處理指令,無分號
main 可無返回值C99 起隱式 return 0,建議顯式
關鍵字可作變量名絕對禁止,編譯報錯