<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            C語言怎樣定義和聲明全局變量和函數最好

            時間:2020-11-23 18:04:49 筆試題目 我要投稿

            C語言怎樣定義和聲明全局變量和函數最好

              首先, 盡管一個全局變量或函數可以(在多個編譯單元中) 有多處“聲明”, 但是“定義” 卻只能允許出現一次。定義是分配空間并賦初值(如果有) 的聲明。

              最好的安排是在某個相關的.c 文件中定義, 然后在頭文件(.h) 中進行外部聲明, 在需要使用的時候, 只要包含對應的頭文件即可。定義變量的.c 文件也應該包含該頭文件, 以便編譯器檢查定義和聲明的一致性。這條規則提供了高度的可移植性: 它和ANSI C 標準一致, 同時也兼容大多數ANSI 前的編譯器和連接器。

              Unix 編譯器和連接器通常使用“通用模式” 允許多重定義, 只要保證最多對一處進行初始化就可以了; ANSI C 標準稱這種行為為“公共擴展”, 沒有語帶雙關的意思。

            C語言怎樣定義和聲明全局變量和函數最好

              可以使用預處理技巧來使類似DEFINE(int, i);的語句在一個頭文件中只出現一次, 然后根據某個宏的設定在需要的`時候轉化成定義或聲明。

              但不清楚這樣的麻煩是否值得。如果希望讓編譯器檢查聲明的一致性, 一定要把全局聲明放到頭文件中。特別是, 永遠不要把外部函數的原型放到.c 文件中: 通常它與定義的一致性不能得到檢查, 而矛盾的原型比不用還糟糕。

            【C語言怎樣定義和聲明全局變量和函數最好】相關文章:

            Javascript函數的定義和用法分析11-15

            有關php parse-str() 函數的定義和用法11-15

            c#和javascript函數相互調用示例11-14

            怎樣建立和理解非常復雜的聲明?12-19

            工傷的定義和范圍12-16

            土地的定義和特征11-15

            malloc()和free()函數區別10-08

            闡釋詞的定義和來源08-14

            金融期權的定義和特征08-26

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院