遞迴程式中的靜態變數
由於靜態變數在程式開始執行時系統就分配了一塊記憶體空間給他,直到整個程式結束才被釋放掉。所以以下遞迴函式在進入函式時為靜態變數開闢了記憶體空間,在遞迴呼叫的過程中,不會再開闢新的記憶體空間,而是對原有記憶體空間的操作。以下程式執行結果是1,2,3,4,5……
Sub sta()
Static i As Integer
i = i + 1
MsgBox i
sta
End Sub
Sub sta()
Static i As Integer
i = i + 1
MsgBox i
sta
End Sub
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11411056/viewspace-734286/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 靜態變數變數
- 【C++】靜態持續變數?如何建立靜態持續變數?C++變數
- 理解靜態區域性變數(static)在程式中的執行規則變數
- 區域性變數和全域性變數(靜態和非靜態)區別變數
- Java靜態變數在靜態方法內部無法改變值Java變數
- 對於systemverilog靜態變數和動態變數 ,描述不正確的是()。變數
- 遞迴函式,可變引數列表遞迴函式
- static 靜態變數引起 Laravel 中佇列一個 Bug變數Laravel佇列
- Spring如何為靜態變數注入值Spring變數
- python-動態規劃的遞迴、非遞迴實現Python動態規劃遞迴
- 成員變數、全域性變數、例項變數、類變數、靜態變數和區域性變數的區別變數
- C++ 可變引數模板遞迴展開C++遞迴
- JavaScript中的遞迴JavaScript遞迴
- C語言--靜態區域性變數C語言變數
- Java逆向基礎之靜態變數存取Java變數
- Java自學入門之靜態變數Java變數
- Java初始化靜態變數的時間順序Java變數
- C++類的靜態成員變數初始化C++變數
- 區域性靜態變數的初始化觀測變數
- 遞迴-第X大的數遞迴
- 【遞迴】小q的數列遞迴
- SQL中的遞迴用法SQL遞迴
- 關於單例及靜態變數測試單例變數
- 分治與遞迴-找k個臨近中位數的數遞迴
- java執行緒安全問題之靜態變數、例項變數、區域性變數Java執行緒變數
- Dll堆疊問題(Dll的靜態變數與全域性變數、vs的MT與MD)變數
- 程式設計中的遞迴(C語言為例)程式設計遞迴C語言
- 方法的過載、可變形參的方法、方法的引數值傳遞機制、遞迴方法遞迴
- Rust 程式設計影片教程(進階)——025_4 訪問或者修改可變靜態變數Rust程式設計變數
- Java中讀取配置檔案中的內容,並將其賦值給靜態變數的方法Java賦值變數
- 遞迴:夢中夢遞迴
- Java 反射修改類的常量值、靜態變數值、屬性值Java反射變數
- Go 中的動態作用域變數Go變數
- 遞迴、分治和動態規劃遞迴動態規劃
- Rust 程式設計視訊教程(進階)——025_4 訪問或者修改可變靜態變數Rust程式設計變數
- let const快取for迴圈的中間變數快取變數
- Java中靜態跟非靜態的區別總結Java
- 類的靜態成員變數和普通成員變數該怎樣去區別定義變數
- 遍歷二叉樹的遞迴與非遞迴程式碼實現二叉樹遞迴