全域性變數,全域性靜態變數,區域性靜態變數,區域性變數

2021-07-05 07:14:43 字數 346 閱讀 4521

變數可以分為全域性變數、靜態全域性變數、靜態區域性變數和區域性變數。

按照儲存區分:

全域性變數、靜態全域性變數和靜態區域性變數都存放在記憶體的全域性資料區,區域性變數存放在記憶體的棧區。

按作用域分:

全域性變數在整個工程檔案內都有效;靜態全域性變數只在定義它的檔案內有效;靜態區域性變數只在定義它的函式內有效,只是程式僅分配一次記憶體,函式返回後,該變數不會消失;區域性變數在定義它的函式內有效,但是函式返回後失效。

全域性變數和靜態變數如果沒有手工初始化,則由編譯器初始化為0.區域性變數的值是不可知的。靜態變數和全部變數完全是兩碼事。

區域性變數,區域性靜態變數,全域性變數,全域性靜態變數分別

c 記憶體到底分幾個區?一 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結構中的堆是兩回事,分配方式倒是類似於鍊錶,呵呵。3 全域性...

區域性變數,區域性靜態變數,全域性變數,全域性靜態變數分別

c 記憶體到底分幾個區?一 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結構中的堆是兩回事,分配方式倒是類似於鍊錶,呵呵。3 全域性...

關於區域性變數 全域性變數 區域性靜態變數 全域性靜態變數

從作用域看 1 全域性變數 全域性作用域 全域性變數只需在乙個原始檔中定義,就可以作用於所有的原始檔。其他不包含全域性變數定義的原始檔需要用extern 關鍵字再次宣告這個全域性變數。2 靜態區域性變數 區域性作用域 自從第一次被初始化直到程式執行結束都一直存在,它和全域性變數的區別在於全域性變數對...