C++ 參數(shù)和變量的局部性

2023-03-20 15:49 更新

參數(shù)和變量只存在于它們所在的函數(shù)內(nèi)部。在main函數(shù)內(nèi)部,沒有phil這個(gè)東西存在。如果你想使用這個(gè)變量,編譯器會(huì)報(bào)錯(cuò)。同樣的,在printTwice內(nèi)部,也沒有argument這個(gè)變量。

類似這樣的變量被稱為局部變量。為了跟蹤參數(shù)和局部變量,畫一張棧圖還是很有用的。像狀態(tài)圖一樣,棧圖展示出每個(gè)變量的值,然而變量都包含在大方框里,大方框表示變量所屬的函數(shù)。

例如,printTwice的棧圖如下:

enter image description here

每當(dāng)函數(shù)被調(diào)用,就會(huì)創(chuàng)建此函數(shù)的一個(gè)實(shí)例。函數(shù)的每個(gè)實(shí)例都包含自己的參數(shù)和局部變量。上圖中外面帶函數(shù)名的方框代表函數(shù)實(shí)例,方框里面是函數(shù)的參數(shù)和局部變量。

此例中,main函數(shù)有一個(gè)局部變量argument,沒有參數(shù)。printTwice沒有局部變量,有一個(gè)參數(shù)phil。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)