• <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, 評(píng)論 - 4, 引用 - 0
            數(shù)據(jù)加載中……

            static、作用域、連接屬性

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

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

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

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

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

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

            国产精品99久久精品爆乳| 93精91精品国产综合久久香蕉| 国产韩国精品一区二区三区久久| 国产成人综合久久综合| 久久av高潮av无码av喷吹| 精品久久久久久久无码 | 久久综合九色综合网站| 久久国产免费观看精品3| 久久免费香蕉视频| 国产精品久久久久影院色| 久久久久久曰本AV免费免费| 久久香蕉国产线看观看99| 久久中文字幕人妻丝袜| 久久精品无码免费不卡| 色综合久久88色综合天天 | 中文字幕久久波多野结衣av| 久久天堂电影网| 久久精品亚洲一区二区三区浴池| 午夜视频久久久久一区 | 久久精品国产第一区二区三区| 久久精品国产亚洲精品| 久久这里只精品国产99热| 麻豆AV一区二区三区久久| 久久无码国产专区精品| 久久久久久久国产免费看| 国产高清国内精品福利99久久| 久久久免费精品re6| 久久天堂AV综合合色蜜桃网 | 国产精久久一区二区三区| 伊人热人久久中文字幕| 亚洲伊人久久大香线蕉苏妲己| 久久精品国产久精国产思思| 久久精品国产亚洲AV电影| 久久综合狠狠综合久久| 久久婷婷国产综合精品| 久久99国内精品自在现线| 99麻豆久久久国产精品免费| 精品国产91久久久久久久| 久久精品国产91久久综合麻豆自制 | 久久精品综合网| 亚洲欧美日韩中文久久|