js 全局变量 什么叫静态变量?与动态变量的差别在哪?
什么叫静态变量?与动态变量的差别在哪?
动态变量和静态变量之间的定义和区别如下:
1。在定义中,静态变量比动态变量多了一个关键字static,例如:dynamic variables:inti,static variables:staticnti
2。在子例程中,动态变量每次被调用时都从零开始,原始数据不会被保留。当调用静态变量时,原始值不会改变,例如:Main(){inti}For(I=0I<5i)fun()//fun1()}voidfun()//输出结果为11111{intjj printf(%d,J)}voidfun 1()//输出结果为12345{staticintjj printf(%d,J) }
静态变量有什么特点?
静态局部变量
它与局部变量的不同之处在于,当函数退出时,这个变量总是存在的,但不能被其他函数使用
最后的结果将被保存。其他变量与局部变量相同。
2. turboc2.0允许将一个大的程序划分成几个独立的模块文件分别编译,然后将各个模块的目标文件连接在一起,从而提高编译速度,方便软件的管理和维护。Static
全范围变量是只在定义它的源文件中可见,而在其他源文件中不可见的变量。它与
full variable的区别在于full variable可以解释为外部变量并由其他源文件使用,而静态full variable不能解释为外部变量,即只能由源文件使用。
静态变量是什么意思?
静态变量是指在全局存储区域中分配的变量与全局变量分配在同一存储区域中,这与在堆栈中分配的变量不同。静态变量只在变量的范围内可见,而全局变量则随处可见。这就是静态变量和全局变量之间的区别。例如:int aint func1(){static int b=0b}Return b}int func2(){int c=0C Return c}int main(){a=1/*b=1*/printf(%dn”,func1())printf(%dn”,func1())printf(%dn”,func2())printf(%dn”,func2())}其中a是全局变量,b是静态变量,c是堆栈变量。a=1中没有错误语句B=1是错误的,因为B只在func中可见。静态变量B在程序运行时立即分配,并在程序完成后消失。静态类型变量只初始化一次。因此,每次运行func1时,返回值都会增加1。但是,如何运行func2,返回值是1,因为C每次都被重新分配并初始化为0。程序的执行结果是1211
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。