1樓:網友
const定義的「常量」其實是「常變派型量」,有生存期、作用域,也有靜態、全域性、區域性之分。
不過編譯器很有可能把針胡辯對const變數的褲羨缺操作優化為常量操作(除非你定義的是乙個const volatile變數-_-
2樓:網友
有,只不過不能直接改變其初始直。
其他的完全一樣/。
3樓:0鞋子
const定義的常變數。 .也屬變數一種。 只不過。值不能改變銷態。
儲存方式。 生命期。 作用域規則。 與變數一致。
哦 ..想起來了。 const定義的常變數有檔案作用域。
一般定義粗鬥伏的變數。 要想在其他檔案裡使用。 可以加extern . 來宣告一下就可以了。
但const不行。 要想這個檔案定義的const,可以在其他檔案中使用。 那定義巖攜的時候要在前面加extern.
extern const int i=1;
extern const int i; /要這樣。才能在另乙個檔案裡使用。
全域性變數,靜態全域性變數,靜態區域性變數和區域性變數的區別
4樓:風若遠去何人留
區域性變數與其它三個有本質區別。
區域性變數,定義在函式內,作用域為定義位置,到所在大括號結束。 每次執行到定義語句的時候,系統為該變數分配記憶體,當作用域結束後,記憶體被釋放。
而另外三個,都是在系統執行時就分配記憶體,在執行過程中都不會釋放,直到程式結束。
也就是說,區域性變數和其它三個,最明顯的區別:
1 生命週期不同。
2 分配時間不同。
3 分配位置不同。
而另外三個,在這幾項上是相同的,之間的區別在於作用域。
全域性變數,作用域為整個專案,不管在哪個檔案中,只要宣告後都可以使用。
靜態全域性變數,作用域為定義改變數的所在檔案。
而靜態區域性變數,作用域與普通區域性變數一樣,都是定義位置到所在大括號結束。
5樓:獨活放輕鬆
變數可以分為:全域性變數、靜態全域性變數、靜態區域性變數和區域性變數。
按儲存區域分,全域性變數、靜態全域性變數和靜態區域性變數都存放在記憶體的靜態儲存區域,區域性變數存放在記憶體的棧區。
按作用域分,全域性變數在整個工程檔案內都有效;靜態全域性變數只在定義它的檔案內有效;靜態區域性變數只在定義它的函式內有效,只是程式僅分配一次記憶體,函式返回後,該變數不會消失;區域性變數在定義它的函式內有效,但是函式返回後失效。
全域性變數(外部變數)的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式, 靜態全域性變數當然也是靜態儲存方式。 這兩者在儲存方式上並無不同。
這兩者的區別雖在於非靜態全域性變數的作用域是整個源程式, 當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是有效的。 而靜態全域性變數則限制了其作用域, 即只在定義該變數的原始檔內有效, 在同一源程式的其它原始檔中不能使用它。由於靜態全域性變數的作用域侷限於乙個原始檔內,只能為該原始檔內的函式公用, 因此可以避免在其它原始檔中引起錯誤。
從以上分析可以看出, 把區域性變數改變為靜態變數後是改變了它的儲存方式即改變了它的生存期。把全域性變數改變為靜態變數後是改變了它的作用域, 限制了它的使用範圍。
static函式與普通函式作用域不同。僅在本檔案。只在當前原始檔中使用的函式應該說明為內部函式(static),內部函式應該在當前原始檔中說明和定義。
對於可在當前原始檔以外使用的函式,應該在乙個標頭檔案中說明,要使用這些函式的原始檔要包含這個標頭檔案。
static全域性變數與普通的全域性變數有什麼區別:static全域性變數只初使化一次,防止在其他檔案單元中被引用;
static函式與普通函式有什麼區別:static函式在記憶體中只有乙份,普通函式在每個被呼叫中維持乙份拷貝。
全域性變數和靜態變數如果沒有手工初始化,則由編譯器初始化為0。區域性變數的值不可知。
全域性變數和靜態區域性變數有什麼區別
6樓:夜禮服假面
1全部雖然之前在程式設計時對這四個「變數」就有不少困惑,但一直沒去細究,前兩天在聯想的筆試題中看到了這樣一道題,貌似知道它們的區別卻又不能說出其中的原理,今天決定將其弄清楚。
區域性變數:在乙個函式中或複合語句中定義的變數,在動態儲存區分配儲存單元,在呼叫時動態分配,在函式或複合語句結束時自動釋放;
靜態區域性變數:在乙個函式中定義區域性變數時,若加上static宣告,則此變數為靜態區域性變數,在靜態儲存區分配儲存單元,在程式執行期間都不釋放;靜態區域性變數只能在該函式中使用;靜態區域性變數在編譯時賦值(若在定義時未進行賦值處理,則預設賦值為0(對數值型變數)或空字元(對字元型變數));靜態區域性變數在函式呼叫結束後不自動釋放,保留函式呼叫結束後的值;
全域性變數:在函式外定義的變數稱為全域性變數;全域性變數在靜態儲存區分配儲存單元,在程式執行期間都不釋放,在檔案中的函式均可呼叫該全域性變數,其他檔案內的函式呼叫全域性變數,需加extern宣告;
靜態全域性變數:在函式外定義變數時,若加上static宣告,則此變數為靜態全域性變數;靜態全域性變數在靜態儲存區分配儲存單元,在程式執行期間都不釋放,靜態全域性變數在編譯時賦值(若在定義時未進行賦值處理,則預設賦值為0(對數值型變數)或空字元(對字元型變數));只能在當前檔案中使用;
靜態全域性變數和非靜態全域性產量有什麼區別
7樓:網友
全域性變數與全域性靜態變數的區別:
a)若程式由乙個原始檔構成時,全域性變數與全域性靜態變數沒有區別。
b)若程式由多個原始檔構成時,全域性變數與全域性靜態變數不同:全域性靜態變數使得該變數成為定義該變數的原始檔所獨享,即:全域性靜態變數對組成該程式的其它原始檔是無效的。
靜態全域性變數的作用:
a)不必擔心其它原始檔使用相同變數名,彼此相互獨立。
b)在某原始檔中定義的靜態全域性變數不能被其他原始檔使用或修改。
易語言中變數全域性變數區域性變數常量之間有什麼區別
全域性變數就是整個程式都可以用的,比如你在子程式.按鈕1 被單擊下 建了一個變數a,在按鈕1下可以呼叫 但是到了.子程式 編輯框1 內容被改變 這個子程式下如果輸入變數a也可以呼叫的 區域性變數就是隻有一個子程式下可以使用的變數 就比如說這個變數a在 子程式.按鈕1 被單擊下 建立了,在.子程式 編...
質監局權力大嗎,質監局有沒有執罰的權利?
質監局是行政部門,管產品質量,權利大。質量技術監督局主要職能包括 一 貫徹執行國家和省市有關質量技術監督工作的方針 政策,統一管理和組織協調本行政區域的質量技術監督工作。二 負責 計量法 標準化法 產品質量法 特種裝置安全監察條例 棉花質量監督管理條例 等法律 法規及相關配套法規 規章的貫徹實施和行...
取保候審期間電話有沒有被公安局定位
從法律上來講,取保候審期間偵查機關無權這樣。不會的!放心吧!你以為手機定位那麼簡單,那麼便宜麼?貴的要死!他們閒得慌,去定位你啊!那都是用在重大刑事案件 重大犯罪嫌疑人身上的!話說回來,只要你在取保期間重新犯罪,或違反定期彙報思想,離開所居住縣區未報告這幾項規定,那麼你就會被立即收押!所以被取保後還...