全局变量:
1、定义在函数的外面,使得所有的函数都能访问到
2、定义方式1:类型 名称
定义方式2:类型 名称=初值
3、全局变量既不存储在代码段上,也不存储在栈上,而是操作系统专门给它开辟的数据段(DATA段)上。操作系统将内存,划一部分做代码段,划一部分做栈,划一部分做数据段,剩下的做堆。
4、分配全局变量的时间:操作系统将应用程序加载到内存;操作系统在数据段分配全局变量;进入main函数的入口。
5、操作系统为应用程序分配数据段,数据段会有一个基地址,所有的全局变量在以这个基地址偏移一个offset的地方。
6.1、特点1:进入main函数之前就分配好了,一直占用内存,直到应用程序完全退出。
6.2、特点2:所有的函数都能访问全局变量
6.3、特点3:分配全局变量时,如果没有对全局变量赋初值,则操作系统会给全局变量里面所有的内存都清空为0。
6.4、特点4:编译器对一个名字的处理,先找局部变量或参数,如果有就使用这个局部变量或参数,如果没有再到全局变量里面去找,如果找到就用这个全局变量,如果找不到就报错。
2265

被折叠的 条评论
为什么被折叠?



