• <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
            數據加載中……

            static、作用域、連接屬性

            關于之前比較迷惑的static和作用域問題的一點總結。

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

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

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

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

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

            91精品国产综合久久香蕉| 久久人妻少妇嫩草AV蜜桃| 午夜精品久久久久久99热| 久久99精品国产自在现线小黄鸭 | 精品国产一区二区三区久久蜜臀| 国产亚洲精久久久久久无码AV| 国产成人综合久久精品红| 狠狠色丁香婷婷久久综合不卡| 97视频久久久| 国产精品欧美久久久久天天影视| 久久99这里只有精品国产| AAA级久久久精品无码区| 婷婷综合久久中文字幕蜜桃三电影| 国产女人aaa级久久久级| 久久er99热精品一区二区| 国内精品伊人久久久久妇| 99久久国产免费福利| 久久精品国产亚洲AV大全| 国内精品久久久久影院薰衣草 | 国产福利电影一区二区三区久久老子无码午夜伦不 | 精品九九久久国内精品| 一本色道久久88精品综合| 久久久久久久亚洲精品| 免费国产99久久久香蕉| 久久夜色精品国产噜噜麻豆| 伊人久久一区二区三区无码| 久久国产视屏| 久久九九免费高清视频| 色综合久久最新中文字幕| 26uuu久久五月天| 韩国无遮挡三级久久| 久久综合久久综合久久综合| 久久精品人人槡人妻人人玩AV| 人妻少妇久久中文字幕一区二区| 久久成人国产精品免费软件| 久久精品中文字幕一区| 亚洲精品tv久久久久久久久| 青青草原精品99久久精品66| 亚洲va久久久噜噜噜久久| 亚洲AV无一区二区三区久久| 亚洲AV无码久久精品色欲|