自動變數生命週期
補充關於程式撰寫中,關於記憶體占用與釋放的觀念中,當宣告一個變數或陣列等等,一旦離開可視範圍{}之外,所占用的記憶體會自動釋放出來,例如:
int main(){
int a;
for(int i=0;i<10;++i){
int b[3]={0};
int c=5;
} return 0;
}
範例程式執行中,int i=0、 int b[3]={0}、int c=5一旦離開可視範圍{}後,其所占用的記憶體將會自動釋出,所以迴圈或者其他指令執行過程中,一旦執行過一次即會釋放,所以迴圈執行n次,就會重複占用(宣告)與釋放(執行第n次)記憶體n次。
int main(){
int a;
for(int i=0;i<10;++i){
int b[3]={0};
int c=5;
} return 0;
}
範例程式執行中,int i=0、 int b[3]={0}、int c=5一旦離開可視範圍{}後,其所占用的記憶體將會自動釋出,所以迴圈或者其他指令執行過程中,一旦執行過一次即會釋放,所以迴圈執行n次,就會重複占用(宣告)與釋放(執行第n次)記憶體n次。
留言
張貼留言