初学者的困惑,有关变量占用内存的问题,大家不要笑我啊!
当我们在程序中定义了一个变量,那么系统便为这个变量预留了一定的存储空间
(程序A)
Private Sub Form_Load()
Dim myvar As Integer
End Sub
(程序B)
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 10000
Dim myvar As Integer
Next i
End Sub
那么请问,当这两个程序运行时,程序B所占用的内存是否是程序A所占用内存的10000倍?
[解决办法]
不是的,你的第二个程序中,只是同一个变量的多次重新定义,所以内存容量并不是增加10000次
[解决办法]
Dim myvar As Integer
重复定义只不过是把内存CLEAR而已,内存还是那一块地址
[解决办法]
我这样理解,声明一个变量,程序不会动态分配内存,
只有当变量被使用,程序才会分配内存,
所以,我觉得,楼主的程序2中,内存里只有变量i。,。
[解决办法]
对于同一个变量重复定义只有再数组变量的ReDim时才可能改变内存的占用量。