1. 程式人生 > >面試總結之C語言的靜態變數、全域性變數、區域性變數

面試總結之C語言的靜態變數、全域性變數、區域性變數

1、全域性變數

全域性變數具有全域性的作用域,在一個原始檔裡定義全域性變數,則所有原始檔都可以訪問這個變數,直到程式結束全域性變數才被銷燬。

2、靜態全域性變數

靜態全域性變數與全域性變數的區別是限制了作用域,只有定義變數的原始檔可以訪問,其它原始檔不能訪問。

3、區域性變數

區域性變數在程式執行期間不是一直存在的,只有函式被訪問的時候才會定義,函式執行完就被銷燬。

4、靜態區域性變數

靜態區域性變數與區域性變數的區別在於靜態區域性變數只初始化一次,函式執行完也不會被銷燬,直到程式結束。

靜態變數放在靜態儲存區,全域性可見,直到程式執行結束。下一次訪問的時候還保留原來的值。

從作用域看:全域性變數>靜態全域性變數>靜態區域性變數>區域性變數