总阅读量次
一、全局变量和局部变量的区别
1、作用域:
全局变量作用于整个程序;
局部变量作用于当前“括号内部”。
2.内存分配:
全局变量内存一般分配在全局数据段;
局部变量分配在堆栈区。
3.生存周期:
全局变量:跟随主程序的创建而创建,虽主程序的销毁而销毁;
局部变量:局部函数内部,甚至局部循环体内部,退出就不存在。
4.使用方式:
全局变量一旦申明后,可以在程序的任意位置被使用;
局部变量只可在局部函数使用。
二、操作系统和编译器是如何知道全局和局部变量的?
操作系统和编译器通过内存分配的位置来知道的。
因为全局变量分配在全局数据段并且在程序开始运行的时候被加载。局部变量则分配在堆栈段里。