全局变量是分配在栈上还是静态存储区?

全局变量在程序执行完毕清空吗
静态变量在程序执行完了清空吗

全局变量存储在静态存储区
局部变量存储在栈里
new,malloc分配的内存存储在堆里

你可以这么理解:

全局变量是程序是整个程序都需要用到的,单独分出一块存储区保存,该存储区存储的数据不清空
局部变量是函数退出时自动清空的,所以放在栈里做临时存储
new,malloc分配的内存需要自己手动申请自己手动释放
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-02-27
全局变量全部存储在静态存储区中,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放。在程序执行过程中它们占据固定的存储单元,而不是动态的进行分配和释放。
静态变量在程序执行完了清空,就从静态存储区中释放。
第2个回答  2008-02-27
;;在当前线程的堆栈上
对不起,上面答错了
全局变量是放在可执行程序的映象当中的
相似回答