Chinaunix首页 | 论坛 | 博客
  • 博客访问: 153569
  • 博文数量: 50
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 470
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-10 10:46
文章分类

全部博文(50)

文章存档

2019年(3)

2018年(3)

2017年(2)

2016年(5)

2015年(3)

2014年(1)

2013年(33)

我的朋友

分类: C/C++

2013-06-17 09:50:47

变量地址是在编译连接阶段分配的,
内存中供用户使用的存储空间分为3部分:
1、程序区
2、静态存储区
3、动态存储器
全局变量存储在静态存储区。程序开始执行时分配空间,完成之后释放
动态存储区存放以下数据:1、形参,函数被调用时分配空间。2、自动变量(未加static声明的局部变量(
3、函数调用时的现场保护和返回地址
函数调用时分配空间,完成后释放空间
存储方法分为2大类:静态存储类、动态存储类,具体包含4中:自动(auto)、静态(static)、寄存器(register)、外部的(extern)
动态分配空间:自动变量和寄存器。静态分配空间:静态自动变量,全局变量(即extern),静态全局变量(静态全局变量只能被声明所在地源文件使用,外部文将无法使用extern使用该变量)
只有自动变量和形参才能被声明为register,一般来说编译器会自动优化是否使用寄存器,无需声明register.
阅读(572) | 评论(0) | 转发(0) |
0

上一篇:DIV居中

下一篇:C语言printf格式字符

给主人留下些什么吧!~~