局部静态变量

来源:互联网 发布:linux安装dedecms 编辑:程序博客网 时间:2024/05/16 01:30

全局变量,局部静态变量,全局静态变量均存储在静态存储区,局部变量存储在栈上,而new出来的变量则存储在堆里。

局部静态变量具有局部作用域,它只被初始化一次,到程序结束前都一直存在,在自身函数体内是可见的,在函数体外是不可见的。而局部变量只是在函数体内存在,函数结束时消失;全局变量则是在程序内所有函数体内都是可见的。因此,将局部变量改为静态局部变量后,作用域不变,仅改变变量的存储方式。

全局静态变量具有全局作用域,它与全局变量的区别在于如果程序存在多个文件,那么全局静态变量只在定义自身的文件内有效,其它文件内不可见的。而全局变量则对程序内所有文件都可见。也就是说,静态全局变量相对于全局变量而言只是改变了作用域,存储方式不变。

0 0
原创粉丝点击