c語言筆記

瑞-板凳精神發表於2020-10-31

巨集定義和全域性變數的區別

  • 巨集定義在編譯期間即會使用並替換,而全域性變數要到執行時才可以。
  • 巨集定義不可以被賦值,即其值一旦定義不可修改,而變數在執行過程中可以被修改。
  • 巨集定義只有在定義所在檔案,或引用所在檔案的其它檔案中使用。 而全域性變數可以在工程所有檔案中使用,只要再使用前加一個宣告就可以了。換句話說,巨集定義不支援extern。
  • 巨集定義的只是一段字元,在編譯的時候被替換到引用的位置。在執行中是沒有巨集定義的概念的(不佔用記憶體)。而變數在執行時要為其分配記憶體。

相關文章