一、形式不同:
静态变量是在定义的时候,有static 修饰的变量,形式为static TYPE var_name = init_value;
动态变量,形式为TYPE var_name = init_value;即没有static 修饰,其中的=init_value均可省略。
二、作用不同:
动态全局变量:作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量,生命周期为从程序运行到程序退出,即贯穿整个运行时间。
静态全局变量:作用域为当前文件,从定义/声明位置到文件结尾,生命周期为从程序运行到程序退出,即贯穿整个运行时间。
常量使用
静态变量也可以用于存储常数。具体来说,静态变量(全局变量及汇编语言里定义的符号亦同)可用const,constant或final(根据语言决定)等关键字标识,这时其值就会在编译时设定,并且无法在运行时改变。
编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区;而如若有需要,有些编译器还可选择为其开辟专用区;为防止常数变量被错误的指针写入覆盖,亦可在这块区域启用内存保护机制。
以上内容参考:百度百科-静态变量
C语言动态变量和静态变量的区别
一、形式不同:静态变量是在定义的时候,有static 修饰的变量,形式为static TYPE var_name = init_value;动态变量,形式为TYPE var_name = init_value;即没有static 修饰,其中的=init_value均可省略。二、作用不同:动态全局变量:作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用...
计算机C语言中“动态变量”和“静态变量”的区别是什么?
区分定义在函数外的全局变量,和函数内的局部变量,作用域,生命周期,及无显式初始化时的初始值,均有区别。1 动态全局变量:作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量。生命周期为从程序运行到程序退出,即贯穿整个运行时间。无显式初始化时默认初始化值为0。2 静...
C语言中静态变量与动态变量的定义与区别
动态变量和静态变量定义和区别如下:1、定义上,静态变量比动态变量多一个关键字static,比如:动态变量:int i;静态变量:static int i;2、动态变量在子程序中,每次调用时都会从零开始,不会保留原有数据,静态变量调用时原有值不会发生改变,比如:main(){ int i;for(i=0;i<5;i++)fun();\/...
C语言动态和静态存储类别的区别
静态存储就是在程序开始的时候就分配固定的内存单元,整个程序结束后释放存储单元,而动态存储单元在程序运行初不分配内存单元在用到时才分配,而当用过后则立刻释放该内存空间
C语言动态变量和静态变量的区
C语言中的动态变量和静态变量在存储和作用域上有所不同。当在全局变量声明前添加"static"关键字,即形成了静态全局变量。静态全局变量和非静态(普通)全局变量一样,都采用静态存储方式,存储上没有本质差别。然而,它们的主要区别在于作用域。非静态全局变量的作用域覆盖整个源程序,无论源程序由多少个...
C语言动态变量和
C语言中的动态变量和静态变量在形式和作用上有所不同。首先,静态变量在定义时带有"static"修饰,如"static TYPE var_name = init_value",而动态变量则不使用此修饰,如"TYPE var_name = init_value","="后可省略初始值。在作用上,动态全局变量具有广泛的范围,它在整个项目中有效,从程序开始...
C语言动态变量和静态变量的区别?
全局变量和静态全局变量都是静态存储的;在存储上无区别。区别在于他们的作用域;全局变量的作用域是整个源程序,当源程序有多个源文件组成时,全局变量在各个源程序文件都是有效的;而静态全局变量怎被限制了作用域,只在定义该变量的源文件内有用在同一程序的其他源文件不能使用!还有静态全局变量只初始...
关于c语言auto变量和static变量区别
自动变量(auto变量)和静态变量(static变量)主要有以下几点区别:1、static变量存放在静态存储区,在程序整个运行期间都不释放;而auto变量存放在动态存储区,随着生命周期的结束而立即释放。2、static变量只赋值一次,以后就不用赋值;而auto变量在函数每调用一次都要赋初值。3、如果用户不对static变量赋...
c语言中静态变量与动态变量的不同?
动态变量在每次函数调用之后会把变量销毁,下次调用时就是另一个了。静态的不会销毁,下次调用时还是那个。比如:void a(){ static int i=0;i++;} void b(){ int i=0;i++;} 这个你调用两次a i就变成2了 不管你调用多少次b i都是1....
C语言中变量的存储类型有哪几种,存储方式哪几种?谢喽
在C语言中,对变量的存储类型说明有以下四种:1、auto 自动变量 2、register 寄存器变量 3、extern 外部变量 4、static 静态变量 所谓存储类型是指变量占用内存空间的方式,也称为存储方式。变量的存储方式可分为“静态存储”和“动态存储”两种。1、静态存储变量通常是在变量定义时就在存储单元并...