作用域描述了名稱在檔案的多的範圍內可見。
鏈結性描述了名稱如何在不同單元間共享。鏈結性為外部的名稱可在檔案間共享,鏈結性為內部的名稱只能由乙個檔案中的函式共享。自動變數的名稱沒有鏈結性,因為它們不能共享。
c++變數的作用域有多種。作用域為區域性的變數只能在定義它的**塊中可用。**塊是由花括號括起的一系列語句。作用域為全域性的變數在定義位置到檔案結構之間都可用。自動變數的作用域為區域性,靜態變數的作用域是全域性還是區域性取決於它是如何被定義的。在函式原型作用域中使用的名稱只在包含引數列表的括號內可用(這也是為什麼這些名稱是什麼以及是否出現都不重要的原因)。在類中宣告的成員的作用域為整個類。在命名空間中宣告的變數的作用域為整個命名空間(由於命名空間已經引入到c++語言中,因此全域性作用域是命名空間作用域的特例)。
c++函式的作用域可以是整個類或整個命名空間(包括全域性的),但不能是區域性的(因為不能再**塊中定義函式,如果函式的作用域為為區域性,則只對它自己是可見的,因此不能被其他函式呼叫。這樣的函式將無法執行。
變數儲存型別 作用域
auto 作用域和壽命 只能做區域性變數 在函式內或復合語句內定義的自動變數可以省略auto,而在外部定義的無auto的變數顯然不是自動變數 外部變數,即 全域性變數 的壽命和作用域是全域性的 register 作用域和壽命 同auto,即 區域性可見 分配通用暫存器的條件 1 有空閒的暫存器 2 ...
C C 中變數的作用域和儲存型別簡介
寫在開頭 對於很多c c 的初學者來說,很容易理不清變數的作用域和儲存型別這一塊的一些概念,也容易將其中的一些概念搞混淆。作為乙個c c 的初學者,筆者希望在這裡能夠嘗試著去理一理這些較為繁雜的概念,主要當作自己備忘之用。當然,由於筆者水平有限,經驗不足,在這裡也只能羅列一些常用概念和使用方法,且可...
對變數儲存型別及作用域的小結
區域性變數指函式內部定義的變數,其只在乙個函式內部起作用,即函式外部的其它函式不能引用該變數。區域性變數預設儲存型別為auto,屬於動態儲存型別。在該函式完成一次呼叫後即釋放該變數的值。全域性變數指在程式內所有函式外部定義的變數,它可被程式中的所有函式呼叫。全域性變數的預設儲存型別為static,即...