java字符替換 C語言中,宏替換與定義全局變量的區(qū)別是什么?
C語言中,宏替換與定義全局變量的區(qū)別是什么?動作時(shí)間不同。宏定義在編譯期間被使用和替換,而全局變量直到運(yùn)行時(shí)才可用。2. 基本類型是不同的。宏只定義字符的一段,在編譯時(shí)被引用替換。操作中沒有宏定義的概
C語言中,宏替換與定義全局變量的區(qū)別是什么?
動作時(shí)間不同。宏定義在編譯期間被使用和替換,而全局變量直到運(yùn)行時(shí)才可用。
2. 基本類型是不同的。宏只定義字符的一段,在編譯時(shí)被引用替換。操作中沒有宏定義的概念。變量在運(yùn)行時(shí)為它們分配內(nèi)存。
宏定義不能賦值,即定義后不能修改其值,但在運(yùn)行期間可以修改變量。
宏定義只能在定義所在的文件或引用所在的其他文件中使用。全局變量可以在項(xiàng)目的所有文件中使用,只要在重用之前添加聲明即可。換句話說,宏定義不支持extern。