频道栏目
读书频道 > web开发 > .NET > Visual C++ .NET程序设计教程(第2版)
2.5.3 全局变量和局部变量
2012-11-26 13:49:44     我来说两句
收藏   我要投稿
本书以Visual C++ .NET为平台介绍程序设计方法。第一部分为教程,首先介绍Visual C++ .NET开发环境,然后介绍C++/CLI语言基础和C++/CLI面向对象编程基础,在这个基础上系统介绍Visual C++ .NET应用程序设计...  立即去当当网订购

C++/CLI中每一个变量必须先定义后使用,若变量是在函数头或函数体内定义的,则此变量就是一个局部变量,它只能在函数体内使用,而在函数体外则不能使用它。例如前面例中的ch、n、i、x、y、z等都是局部变量。

若变量是在函数外部(例如在main主函数前)定义的,则它从定义开始一直到源文件结束都能被后面的所有函数或语句引用,这样的变量就是全局变量。

【例Ex_Global】使用全局变量
#include "stdafx.h"
using namespace System;
void  f( int n);     // 函数原型声明
int  a = 8;     // 定义全局变量
int main(array<System::String ^> ^args)
{
     Console::WriteLine( a );   // 输出8
 f(10);
 Console::WriteLine( a );  // 输出10 
     return 0;
}
void  f(int n )    // 函数定义
{
 a = n;     // 将全局变量的值改为n
}

代码中,变量a是在main函数前定义的,是一个全局变量,因此它能在后面的main函数和f函数中使用。程序运行的结果如下:
8
10

上述代码中,执行函数f(10)调用后,全局变量a的值由原来的8变成10了,这是很危险的,因为若一个函数试图修改了一个全局变量的值,就会引起结构不清晰、容易混淆等副作用。因此,在函数设计时应尽量使用局部变量,并将形参和函数类型作为函数的公共接口,以保证函数的独立性。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.5.2 函数的调用和声明
下一篇:2.5.4 函数的默认形参值
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站