• <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>

            朗朗空間

            我知道并不是 所有鳥兒都飛翔

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              16 Posts :: 0 Stories :: 6 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(1)

            我參與的團隊

            搜索

            •  

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            存儲類、鏈接和內存管理
            1.作用域
            作用域描述了程序中可以訪問一個標識符的一個或多個區(qū)域。
            一個C變量的作用域可以是代碼塊作用域、函數原型作用域或者文件作用域。
            代碼塊作用域
            一個代碼塊是包含在開始花括號和對應的結束花括號之內的一段代碼。
            例如,整個函數體是一個代碼塊。
            一個函數內的任一復合語句也是代碼塊。
            在代碼快中定義的變量具有代碼塊作用域(block scope),從該變量被定義的地方到包含該定義的代碼塊的末尾該變量均可見


            另外,函數的形式參數盡管在函數的開始花括號前進行定義,也同樣具有代碼塊作用域,并且屬于包含函數體的代碼塊。

            double blocky (double cleo)
            {
                
            double patrick = 0.0;
                
                
            return patrick;
            }

            在上面這個例子中,cleo和patrick都有知道結束花括號的代碼作用域。

            在一個內部代碼塊中聲明的變量,其作用域只局限于該代碼塊:

            double blocky (double cleo)
            {
                
            double patrick = 0.0;
                
            int i;
                
            for (i=0; i < 10; i++)
                
            {
                    
            double q = cleo * i// q作用域的開始
                    ……
                    
            patrick *= q;
                
            }//q作用域的結束
                
            return patrick;
            }

            在這個例子中,q的作用域被限制在內部代碼塊內,只有該代碼內的代碼可以訪問q。
            C99允許在一個代碼塊中的任何位置聲明變量,使用之前請注意編譯器能不能支持。
            如,你可以這樣聲明

            for (int i=0; i < 10; i++ )
            {
                
            printf ("A C99 feature: i=%d", i);
            }

            2.函數原型作用域
            從變量定義處一直到原型聲明的末尾,這意味著編譯器在處理一個函數原型的參數時,它所關心的只是該參數的類型;您使

            用的名字是無關緊要的。

            int mighty (int mouse, double large);

            3.文件作用域
            一個在所有函數之外定義的變量具有文件作用域 (file scope)。
            具有文件作用域的便狼從它定義處到包含該定義的文件結尾處都是可見的。

            #include <stdio.h>
            int units = 0;//具有文件作用域的變量
            void critic (void);
            int main (void)
            {
                ……
            }
             
            void critic (void)
            {
                ……
            }

            這里,變量units具有文件作用域,在main ()和critic ()中都可以使用它。因為它們可以在不止一個函數中使用,文件作用域變量也被稱為全局變量(global varibale)。

            4.goto
            函數作用域只適用于goto語句使用的標簽。函數作用域意味著一個特定函數中的goto標簽對該函數中任何地方的代碼都是可見的,無論該標簽出現在哪一個代碼塊中。

            posted on 2008-05-06 18:21 聶元朗 閱讀(534) 評論(0)  編輯 收藏 引用 所屬分類: C語言學習筆記
            国内精品伊人久久久久| 蜜桃麻豆www久久| 国产成人精品三上悠亚久久| 亚洲香蕉网久久综合影视| 久久九九精品99国产精品| 久久精品夜色噜噜亚洲A∨| 午夜精品久久久久久中宇| 超级碰久久免费公开视频| 久久天天躁夜夜躁狠狠| 国产一区二区精品久久| 久久er热视频在这里精品| 精品免费久久久久国产一区| 精品久久人人爽天天玩人人妻| 久久婷婷国产麻豆91天堂| 亚洲精品国精品久久99热一| 久久国产成人亚洲精品影院| 久久国产热精品波多野结衣AV| 无码国内精品久久人妻麻豆按摩| 久久久久久午夜成人影院| 中文字幕无码av激情不卡久久 | 一本色道久久综合亚洲精品| 91久久精品国产免费直播| 久久精品国产亚洲av麻豆色欲 | 亚洲欧洲精品成人久久曰影片| 久久国产精品一区二区| 久久久久99精品成人片欧美| 亚洲色婷婷综合久久| 久久天天躁狠狠躁夜夜不卡 | 国产亚洲色婷婷久久99精品| 一本色道久久88—综合亚洲精品| 亚洲国产成人久久一区久久| 久久夜色精品国产亚洲av| 国产一区二区精品久久岳| 国产99久久久国产精免费| 精品无码人妻久久久久久| 大美女久久久久久j久久| 国产国产成人久久精品| 国产精品成人久久久久三级午夜电影| 亚洲天堂久久精品| 精品无码人妻久久久久久| 香蕉久久影院|