Chinaunix首页 | 论坛 | 博客
  • 博客访问: 351729
  • 博文数量: 157
  • 博客积分: 3001
  • 博客等级: 中校
  • 技术积分: 1330
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-06 13:47
文章分类

全部博文(157)

文章存档

2011年(1)

2010年(28)

2009年(124)

2008年(4)

我的朋友

分类: WINDOWS

2009-10-09 19:55:21

1、变量可以分为全局变量、静态全局变量、静态局部变量和局部变量  
  按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的全局数据区,局部变量存放在内存的栈区  
  按作用域分:全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。  
  全局变量和静态变量如果没有手工初始化,则由编译器初始化为0。局部变量的值不可知。
 
2、从链接器的角度来说,静态变量与全局变量是不一样的。  
  静态变量的语义是指该变量的链接范围仅在本编译单元(本实现文件中)有效,即只有同一文件中的其它语句才能引用该静态变量,而对其它编译单元是不可见的。  
  而全局变量的语义是指该变量可以拥有外部链接(相对于静态变量的内部链接而言),即其它文件使用extern关键字进行变量声明后,可以引用到别的编译单元中的全局变量。  
   
  至于它们的生存期,则是一样的,而它们的作用域随定义点的不同而不同。
阅读(543) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~