- 相關(guān)推薦
C語言怎樣定義和聲明全局變量和函數(shù)最好
首先, 盡管一個全局變量或函數(shù)可以(在多個編譯單元中) 有多處“聲明”, 但是“定義” 卻只能允許出現(xiàn)一次,
C語言怎樣定義和聲明全局變量和函數(shù)最好
。定義是分配空間并賦初值(如果有) 的聲明。最好的安排是在某個相關(guān)的.c 文件中定義, 然后在頭文件(.h) 中進(jìn)行外部聲明, 在需要使用的時候, 只要包含對應(yīng)的頭文件即可。定義變量的.c 文件也應(yīng)該包含該頭文件, 以便編譯器檢查定義和聲明的一致性。這條規(guī)則提供了高度的可移植性: 它和ANSI C 標(biāo)準(zhǔn)一致, 同時也兼容大多數(shù)ANSI 前的編譯器和連接器,
資料共享平臺
《C語言怎樣定義和聲明全局變量和函數(shù)最好》(http://www.ishadingyu.com)。Unix 編譯器和連接器通常使用“通用模式” 允許多重定義, 只要保證最多對一處進(jìn)行初始化就可以了; ANSI C 標(biāo)準(zhǔn)稱這種行為為“公共擴展”, 沒有語帶雙關(guān)的意思。
可以使用預(yù)處理技巧來使類似DEFINE(int, i);的語句在一個頭文件中只出現(xiàn)一次, 然后根據(jù)某個宏的設(shè)定在需要的時候轉(zhuǎn)化成定義或聲明。
但不清楚這樣的麻煩是否值得。如果希望讓編譯器檢查聲明的一致性, 一定要把全局聲明放到頭文件中。特別是, 永遠(yuǎn)不要把外部函數(shù)的原型放到.c 文件中: 通常它與定義的一致性不能得到檢查, 而矛盾的原型比不用還糟糕。
【C語言怎樣定義和聲明全局變量和函數(shù)最好】相關(guān)文章:
面試的定義和種類05-23
怎樣和領(lǐng)導(dǎo)相處08-23
大學(xué)生求職攻略:怎樣和人事經(jīng)理談薪資09-14
對聯(lián)和橫批10-21
考研和戶口08-14
職場和人生10-14
平行志愿和非平行志愿的區(qū)別和對比06-15
立志和理想作文07-21
和雨有關(guān)的諺語10-10
CV和Resume區(qū)別09-07