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

[复制链接]
查看11 | 回复3 | 2012-4-24 18:20:02 | 显示全部楼层 |阅读模式
不是,控制器的存储器你是指寄存器吗?寄存器不可能永远存放哪几个变量,程序中的变量常量等等都是存放在内存中的,只有执行需要时才由cpu取出内存中的值计算。C语言的全局变量在这个程序运行期间一直存放在内存中的静态(全局)存储区,程序运行结束释放,另外,函数的局部变量存放在内存中的栈存储区中,函数执行完释放内存空间,但是static声明的静态局部变量存储在静态(全局)存储区,程序运行结束释放,但是作用域不变。malloc等动态申请的空间存放在内存中的堆中,需要程序员自己去释放该空间free,否则就会内存泄露(程序运行占用的内存空间越来越大)。...
回复

使用道具 举报

千问 | 2012-4-24 18:20:02 | 显示全部楼层
不是的,程序结束之后就会释放空间...
回复

使用道具 举报

千问 | 2012-4-24 18:20:02 | 显示全部楼层
不是啊。。。只有register变量保存在cpu中。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行