• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 1, 文章 - 9, 評論 - 4, 引用 - 0
            數(shù)據(jù)加載中……

            static、作用域、連接屬性

            關(guān)于之前比較迷惑的static和作用域問題的一點總結(jié)。

            static int n; // file scoped ariable  
            float f; // global variable  
             
            int main()  
            {  
                    
            double d; // local variable  
            }  

            變量f的范圍可以說是global也可以說超出了所在文件。每個變量都有一個連接屬性,用于在連接時判斷其他文件是否有權(quán)利指向這個變量。這里的f聲明,c++默認給它了一個連接屬性:extern,也就是說在其他文件中,可以使用這個變量,當然前提是你包含了此文件,或者在一個工程里面(因為它是連接屬性)。對于變量n,前面的static導致這個變量的連接屬性為:此文件,就是說外部文件無法使用它。

            static之所以引起混淆,是因為一開始學的時候,它的應(yīng)用在于把上面這個d,這個局部變量變的固定。講到static必然有個例子,是在函數(shù)中有個局部變量,然后聲明為static,接著自增,之后神奇的發(fā)現(xiàn)變量居然沒有自動釋放。這其實還是個局部變量,出了函數(shù)是沒法使用的。

            對于extern,常用的做法還有:
            extern int array[];
            這樣在頭文件里面聲明一個數(shù)組類型,然后在cpp中定義它。

            posted on 2008-12-19 17:03 EiN 閱讀(876) 評論(0)  編輯 收藏 引用 所屬分類: C/C++ and ASM

            日韩人妻无码精品久久免费一| 久久成人国产精品免费软件| 国产精品国色综合久久| 国产高潮国产高潮久久久| 久久国产精品-久久精品| 久久综合九色欧美综合狠狠| 伊人久久大香线蕉综合Av| 97久久久精品综合88久久| 午夜精品久久影院蜜桃| 国产成人久久精品一区二区三区 | 狠狠色综合网站久久久久久久| 久久国产福利免费| 中文国产成人精品久久不卡| 国产精品99久久久久久宅男| 区久久AAA片69亚洲| 99久久精品无码一区二区毛片 | 国产高潮久久免费观看| 久久久久久久女国产乱让韩| 秋霞久久国产精品电影院| 狠狠综合久久AV一区二区三区| 97久久精品国产精品青草| 久久笫一福利免费导航| 99久久精品国产一区二区| 亚洲午夜久久久影院| 91精品国产91热久久久久福利| 亚洲成色www久久网站夜月| 欧美精品一区二区久久| 99久久精品免费看国产| 97久久精品无码一区二区| 亚洲精品乱码久久久久久按摩| 亚洲国产日韩欧美综合久久| 欧美午夜A∨大片久久| AA级片免费看视频久久| 国产精品美女久久久久av爽| 91久久精品国产免费直播| 69久久夜色精品国产69| 久久精品国产亚洲av水果派| 亚洲精品无码成人片久久| 亚洲精品美女久久777777| 亚洲va中文字幕无码久久不卡| 亚洲午夜久久久影院伊人|