<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語言

            C語言作用域入門學習

            時間:2025-05-15 12:11:01 C語言 我要投稿
            • 相關推薦

            C語言作用域入門學習

              程序中名字的作用域,通俗的講,就是這個名字在程序中的使用范圍。在C語言中,作用域的規則相對比較簡單,主要分為全局作用域和局部作用域兩種。下面小編整理了C語言作用域入門學習知識,希望對大家有幫助!

            C語言作用域入門學習

              一個變量如果定義在函數中,那么這個變量的作用域就是一個局部作用域,在函數外面不能訪問這個變量。在別的函數中定義同名的變量,也不會出現名字沖突,因為它們都處于各自的局部作用域中。

              外部變量或函數的作用域是從聲明的位置開始,到所在文件的末尾。如果需要在別的文件中引用不在這個文件中定義的外部變量,或者在這個變量定義之前使用,可以通過關鍵字 extern 進行聲明。

              extern 修飾符的作用是,告知該變量已經在別的地方定義了。外部變量和函數默認具有全局作用域,所以可以在程序的任何位置進行引用。

              main() { ... }int sp = 0;double val[MAXVAL];void push(double f) { ... }double pop(void) { ... }

              在上面的代碼中,sp和val的作用域是從它們定義的位置開始的,所以可以在push和pop函數中引用這兩個變量。而在main函數中,不能直接引用這兩個變量。如果需要引用在后面定義的變量,可以使用關鍵字 extern 聲明需要使用的變量。在上面的代碼中,如果需要在main中使用sp,則可以這樣聲明:

              extern int sp;

              聲明和定義的區別:聲明只是告知這個變量的類型,而定義一個變量,除了告知變量的類型,還會為變量分配存儲空間。

              在一個程序中,外部變量的定義只能有一處,而外部變量的聲明可以出現在任何需要引用這個變量的文件中。通過在文件中使用 extern 關鍵字聲明一個變量,可以使用在別的地方聲明的變量。

              static修飾符

              在C語言中,static修飾符用于定義靜態變量。static除了可以修飾變量外,還可以修飾函數。

              對于外部變量和函數,static修飾符會限制它們的作用域,使它們只能在定義它們的文件中使用,作用域不能傳播到文件外。

              使用static修飾符,提供了一種隱藏名字的方式,可以將名字限定在一個文件中,防止名字沖突。

              static char buf[BUFSIZE];static int bufp = 0;int getch(void) { ... }void ungetch(int c) { ... }

              在上面的代碼中,bufp和buf都只能在函數getch和ungetch中使用,而不能在別的文件中使用,即使在別的文件中使用了extern聲明。

              static修飾符除了可以修飾外部變量和函數外,也可以作用于局部變量。通過static修飾的局部變量,在函數中的存儲空間將不會再函數結束后銷毀,而是一直存在直到程序結束。當程序再次被調用時,仍舊可以訪問這個區域的內存。


            【C語言作用域入門學習】相關文章:

            C語言入門學習04-08

            C語言數組入門學習04-12

            C語言指針入門學習03-16

            C語言函數入門學習06-02

            C語言入門學習介紹05-14

            C語言常量入門學習06-05

            C語言存儲類入門學習03-18

            C語言入門的基本學習方法05-23

            C語言入門知識07-20

                    <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>
                      飘沙影院