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

来源:互联网 发布:java反复执行一个任务 编辑:程序博客网 时间:2024/05/01 01:08

生命周期不同:全局变量随主程序创建和创建,随主程序销毁而销毁;局部变量在局部函数内部,甚至局部循环体等内部存在,退出就不存在;


使用方式不同:通过声明后全局变量程序的各个部分都可以用到;局部变量只能在局部使用;分配在栈区。操作系统和编译器通过内存分配的位置来知道的,全局变量分配在全局数据段并且在程序开始运行的时候被加载。局部变量则分配在堆栈里面 。
0 0