首页 > 其他 > 详细

11. 变量生命周期和作用域

时间:2020-04-15 10:45:06      阅读:53      评论:0      收藏:0      [点我收藏+]

char szBuff[10] = { 0 };

scanf("%9s", szBuff);//最多读9个字符,防止溢出

 

 

全局变量尽可能不用

 

code

 

read execute

全局、静态

data

init

read write

read only

常量

uninit

read write

全局、静态

stack

 

read write

 

heap

 

read write

 

 

 

编译器分配变量的原则:

按同内存属性分配

 

定义如下几个全局变量,注释里是对应的地址。可以开到已初始化和未初始化的地址有一定差距。

int a;              //0042AE64

int b;              //0042AE68

int c=0;            //0042AE78

int d=1;            //00427CB8

char name1[4];      //0042AE6C

char name2[4]={0};  //0042AE7C

char name3[4]={1};  //00427CBC

 

 

作用域实际是编译器按C语言标准所规定的语法做出了限制

 

变量作用域

例子

变量的生命期

块作用域

 

函数开始到函数结束

函数作用域

参数和局部变量

函数开始到函数结束

文件作用域

 

 

进程作用域

全局变量

所处模块装载到所处模块卸载

11. 变量生命周期和作用域

原文:https://www.cnblogs.com/Nutshelln/p/12702850.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!