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

C語言核心筆記 21 條:參數傳遞、數組指針、存儲類別、預處理、數據類型

     編輯:關於C語言

C語言核心筆記 21 條:參數傳遞、數組指針、存儲類別、預處理、數據類型

整理自半年學習筆記,涵蓋 C 語言核心概念精華,適合速查與面試複習。

核心筆記清單

  1. 參數傳遞:C 語言只有值傳遞(按值調用)。指針傳遞本質是傳遞地址值。
  2. 函數原型:返回類型 函數名(參數類型, ...),參數名可省略。
  3. 數組作參數:退化為指針,首維大小被忽略,需額外傳遞長度。多維數組除首維外必須指定大小。
  4. 函數不可嵌套定義:C 不支持巢狀函數(GCC 擴展除外)。
  5. 形式參數數組大小:編譯器不檢查,實參首地址傳給形參指針。
  6. 存儲方式:靜態存儲(全局/靜態變量,程序期)vs 動態存儲(棧/堆,按需分配)。
  7. static 局部變量:改變存儲期為靜態,保留值,作用域不變。
  8. static 全局變量/函數:內部鏈接,限制本文件可見。
  9. 寄存器變量:僅限局部變量和形參 (register 關鍵字)。
  10. extern 聲明:引用外部定義,編譯期分配靜態存儲。
  11. extern 前向聲明:在定義前使用,或跨文件引用。
  12. 預處理命令:非 C 語言語句,以 # 開頭,編譯前處理。
  13. a[i] ≡ *(a+i):編譯器內部統一轉換,效率相同。
  14. Java 構造方法:不可繼承,子類需 super() 顯式調用父類帶參構造。
  15. Java 構造鏈:首句可為 this(...) 調用本類其他構造。
  16. C 數據類型四大類:基本(整/字/實/枚舉)、構造(數組/結構/共用體)、指針、空類型。
  17. Turbo C int 範圍:-32768~32767,溢出環繞。
  18. 整數後綴:u/U → unsigned,l/L → long。
  19. 浮點精度:float 4字節 6-7位有效,double 8字節 15-16位。
  20. 浮點捨入誤差:1.0/3*3 ≠ 1,實型常量默認 double。
  21. 後置自增優先級:printf("%d", -i++) 先取值 3,後取負 -3,i 變 4。

重點補充

  • 定義後使用:保證類型確定、編譯期分配存儲、合法性檢查
  • 強制轉換優先級:(int)a/1.5 先轉 int 再除,結果 2 而非 3
  • 結構體對齊:sizeof 受對齊影響,#pragma pack 可控制
  • 位域:struct { int a:3; int b:5; } 節省空間
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved