首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 有关全局变量与局部变量
【标  题】:有关全局变量与局部变量
【关键字】:
【来  源】:http://blog.csdn.net/shahen/archive/2007/03/07/1523373.aspx

有关全局变量与局部变量

在C++中,经常会遇到全局变量与局部变量,在定义一个变量的时候尽量把它定义为一个局部变量,这是因为局部变量的控制范围通常有限,只在定义它的语句块内起作用,当语句块执行结束后,它所占用的内存就会被释放,这样既能避免跟其它地方的变量冲突,减少出现bug的可能性,同时也节省资源 ,而全局变量则一直存在于整个程序中,直到程序结束它所占的内存才会被释放,这样一来系统要花额外的资源和时间来维护它。
另外,全局变量在定义的时候,如果没有初始化,会被自动初始化为0。局部变量在定义的时候,除非程序员指定其初值,否则不会被初始化的。我们可以通过下面的代码来验证:
#include<iostream>
using namespace std;
int i;//定义一个全局变量i,没有指定初值
int main()
{
 int j;//定义一个局部变量j,没有指定初值
 cout<<i<<endl;//打印i
 //cout<<j<<endl;//如果想让程序执行,这句一定要注释掉,因为j是一个局部变量,并且没有
                             //指定初值,直接打印j这是不允许的!
        cout<<&j<<endl;//打印j的地址,这是允许的
 return 0;
}
通过运行上面的代码,我们可以清楚的看到i被系统自动初始化为0,而j则没有。

 

C语言实现用程序数据段空间模拟内存的动态分配:【上一篇】
关联容器(Associative Container):【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 建立不保留镜像信息系统备份(mksysb)的方法
  • prototype学习笔记(4)
  • vc++ memcpy和 memmove, 在source和destination有重叠时出现的问题
  • 邮件防毒之独孤九剑(图)
  • Photoshop校正偏色照片
  • Fireworks制作环绕圆形文字
  • 揭开智能卡的面纱
  • 推荐:麻省理工学院“开放式课程网页”和莱斯大学“Connexions”
  • eclipse下Hibernate3学习
  • 在Linux fedora 5上安装本地dictd server的方法
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.