C语言中,全局变量是不是永远保存在控制器的存储器里?

如题所述

不是,控制器的存储器你是指寄存器吗?寄存器不可能永远存放哪几个变量,程序中的变量常量等等都是存放在内存中的,只有执行需要时才由cpu取出内存中的值计算。

C语言的全局变量在这个程序运行期间一直存放在内存中的静态(全局)存储区,程序运行结束释放,另外,函数的局部变量存放在内存中的栈存储区中,函数执行完释放内存空间,但是static声明的静态局部变量存储在静态(全局)存储区,程序运行结束释放,但是作用域不变。malloc等动态申请的空间存放在内存中的堆中,需要程序员自己去释放该空间free,否则就会内存泄露(程序运行占用的内存空间越来越大)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-24
不是的,程序结束之后就会释放空间
第2个回答  2012-04-23
不是啊。。。
只有register变量保存在cpu中。
相似回答