1.作用域
a.代碼塊作用域:變量的作用範圍在一段{ }代碼内,函數的形參和内部定義的變量都具有代碼塊作用域;
b.檔案作用域:定義在所有函數之外的變量具有檔案作用域,作用範圍在整個檔案;
c.函數原型作用域:在聲明函數時給出的形參具有函數原型作用域,它的作用範圍從聲明開始到聲明結束;
d.函數作用域:隻針對goto語句。
2.連結:内部連結,外部連結,空連結
具有代碼塊作用域和函數原型作用域的變量擁有空連結,表明他們由其所定義的代碼塊和函數原型所私有;
具有檔案作用域的變量具有内部連結或外部連結,内部連結表明他們隻在一個檔案内使用,外部連結表明他們可以被多個檔案使用;
3.存儲時期:自動存儲和靜态存儲
靜态存儲在程式執行期間将會一直存在,自動存儲會在代碼塊執行結束後釋放;
4.存儲類
a.自動: 自動存儲 代碼塊作用域 空連結 代碼塊内部;
b.寄存器:自動存儲 代碼塊作用域 空連結 代碼塊内部 關鍵字 register;
c.具有外部連結的靜态:靜态存儲 檔案作用域 外部連結 所有函數之外;
d.具有内部連結的靜态:靜态存儲 檔案作用域 内部連結 所有函數之外 關鍵字 static;
e.空連結的靜态:靜态存儲 代碼塊作用域 空連結 代碼塊内部 關鍵字static;