page contents

全局变量和局部变量有什么区别?操作系统和编译器是怎么知道的?

轩辕小不懂 发布于 2021-12-31 11:31
阅读 496
收藏 0
分类:C/C++开发
2789
Nen
Nen
- 程序员

全局变量是整个程序都可访问的变量,谁都可以访问,生存期在整个程序从运行到结束(在程序结束时所占内存释放);

而局部变量存在于模块(子程序,函数)中,只有所在模块可以访问,其他模块不可直接访问,模块结束(函数调用完毕),局部变量消失,

所占据的内存释放。

操作系统和编译器,可能是通过内存分配的位置来知道的,全局变量分配在全局数据段并且在程序开始运行的时候被加载.局部变量则分配在堆栈里面。


请先 登录 后评论