變數的可見性(即作用域)和生命期既有區別,又有聯繫。 一個變數在程式的某處沒有可見性,但生命期任然可以存在,比如局部靜態變數的可見性在它所在的函數裡面,在函數外部不可訪問,但是它的生命期確是整個程式的運行期間;而一個變數生命期結束,它也就沒有了可見性,就像局部變數,隨著棧空間的釋放,它也就不存在了, ...
變數的可見性(即作用域)和生命期既有區別,又有聯繫。
一個變數在程式的某處沒有可見性,但生命期任然可以存在,比如局部靜態變數的可見性在它所在的函數裡面,在函數外部不可訪問,但是它的生命期確是整個程式的運行期間;而一個變數生命期結束,它也就沒有了可見性,就像局部變數,隨著棧空間的釋放,它也就不存在了,所以外部無法訪問。
決定一個變數的可見性是變數被聲明的位置(就像局部靜態變數,由於在函數裡面聲明,所以只能在函數裡面可見),而決定一個變數的生命期是變數在記憶體中的位置(就像靜態局部變數不是分配在棧上,而是分配在記憶體靜態存儲區,因此生命期也和普通局部變數不一樣).