返回首页 | 网站案例 | 帮助中心

合作共赢、快速稳定、服务地方的网站建设提供商

北京网站建设

服务热线:13812345678

变量的存储类别和生存期

时间:2017-9-6

     变量在程序执行过程中占用存储单元的时间称为变量的生存期,可以分为动态变量和静态变量.
     内存中可供用户使用的存储空间分为3部分,即程序区,静态存储区,动态存储区.
     动态变量存储区在动态存储区,当函数被调用时,系统为函数中定义的变量分配动态存储单元,当函数调用结束时,这些存储单元被释放,动态变量包括,1函数形式参数;2函数内部定义的变量.
     静态变量存储在静态存储区,在程序开始运行时就分配存储空间,程序执行完毕才释放,静态变量包括全局变量和在定义时使用关键字static的局部变量,静态存储变量默认的初值为0.
     在定义变量时,可以使用以下关键字定义其存储方式:1.auto;2.static;3.register;4.extern;
1.auto类型变量
     在C语言中可以用关键字auto指定局部变量为动态存储方式,当省略关键字auto时,局部变量默认是动态存储方式;
2.static声明静态局部变量
     如果在定义局部变量时使用关键字static,则这个变量为静态变量,静态变量在程序执行期间一直占用存储单元,它只初始化一次,在每次调用其所在过程时,变量并不重新初始化,而是继续使用上次调用结束时保留的值.
3.register变量
     动态存储方式和静态存储方式的变量均存放在内存中,程序运行需要用到变量时,由控制器发出指令从内在中存取和写入数据,在C语言中,可以将频繁使用的变量定义为register变量,则这个变量将存放在CPU的寄存器中,直接读取和定稿寄存器,因为寄存器的速度远高于内在,从而可以显著提高程序的运行效率.
4.extern变量
     在一个工程项目中可以包括多个源程序文件,extern用于声明变量是定义在其他文件中的外部变量.

建站流程

    北京网站建设流程