《(9.21)--变量的生存期.ppt》由会员分享,可在线阅读,更多相关《(9.21)--变量的生存期.ppt(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第6章 过程26.6.4 变量的生存期变量的生存期是指是指变量在内存中存在的量在内存中存在的时间,它决定了,它决定了该变量可以在哪个量可以在哪个时间范范围内被引内被引用。可分用。可分为动态变量和量和静静态变量量。1.动态变量量v在在过程中用程中用Dim关关键字声明(或字声明(或隐式声明)的局部式声明)的局部变量。量。v执行行过程后,系程后,系统才才为动态变量分配存量分配存储空空间并并进行初始化,此行初始化,此时该变量才能被引用。当量才能被引用。当过程程结束后,其占用的存束后,其占用的存储空空间自自动释放,此放,此时该变量已不存在,所以不能使用。当再次量已不存在,所以不能使用。当再次执行此行此过
2、程程时,变量重新声明,重量重新声明,重新分配存新分配存储单元并重新元并重新进行初始化。行初始化。v动态变量的生存期就是量的生存期就是过程的程的执行期。行期。6.6 变量和过程的作用域变量和过程的作用域3注意注意:不能在窗体模块或标准模块的通用声明段,用不能在窗体模块或标准模块的通用声明段,用Static关键字声明静态变量。关键字声明静态变量。6.6 变量和过程的作用域变量和过程的作用域2.静静态变量量v在在过程中用程中用Static关关键字声明的局部字声明的局部变量。量。v执行行过程后,系程后,系统为变量分配存量分配存储空空间并并进行初始化。行初始化。过程程结束后,其占用束后,其占用的存的存储
3、空空间并不并不释放,放,该变量仍然存在,其量仍然存在,其值仍然保留。再次仍然保留。再次执行行过程程时,其其值仍是上次仍是上次执行行过程程结束束时的的值,该值可可继续使用,直到程序使用,直到程序结束,所占束,所占的存的存储空空间才被才被释放。放。v静静态变量的生存期就是程序的运行期。量的生存期就是程序的运行期。v虽然静然静态变量在整个程序运行期量在整个程序运行期间始始终存在,但它是局部存在,但它是局部变量,只能在本量,只能在本过程内使用。程内使用。v在定在定义过程程时,若在,若在Sub或或Function之前加之前加Static关关键字,字,则在在过程内使用程内使用的所有的所有变量均量均为静静态
4、变量。量。v模模块级变量和全局量和全局变量生存期也是程序的运行期。量生存期也是程序的运行期。例例6.10 通通过下面程序示例,下面程序示例,说明明变量的生存期。量的生存期。程序代程序代码如下:如下:Private Sub Form_Activate()Caption=变量的生存期变量的生存期 Dim i As Integer For i=1 To 5 Call live(i)Next iEnd SubPrivate Sub live(n As Integer)Static a As Integer 声明声明a为静态变量为静态变量 Dim b As Integer 声明声明b为动态变量为动态变量 a=a+1 b=b+1 Print 第第;n;次调用过程时次调用过程时a、b的值分别是:的值分别是:;a;bEnd Sub程序运行后的输出结果如图所示。程序运行后的输出结果如图所示。6.6 变量和过程的作用域变量和过程的作用域