繼續《C++ premier plus 》
先來解釋一下scope和linkage,所謂scope,是指變量的作用范圍,所謂linkage,是指變量能否在不同文件中共享
1,自動變量(automatic variable),local scope, no linkage
函數的參數,函數內定義的變量(未使用static限定),以及語句塊中定義的變量,均為自動變量,自動變量具有local scope,即局部作用域,只在定義的函數或者塊中起作用,當程序執行離開某個函數或區塊時,其中的自動變量被釋放(free)掉
2,靜態變量(static variable),有三種external linkage,internal linkage and no linkage
靜態變量只要程序在運行,就一直存在,不會被釋放掉。聲明external linkage的靜態變量,要在所有函數或者區塊外面聲明即可;要聲明internal linkage的靜態變量,在上述變量前面加上“static”限定符;要聲明no linkage的靜態變量,在區塊或者函數內聲明static 類型的變量即可