欢迎光临
我们一直在努力

C++学习笔记系列2-9

       变量的作用域和局部变量

简单理解就是变量的作用范围,如:

void Func()

{

        int a = 10;

        cout << a <<endl;

}

这个函数中,有一个 int 变量 a 它的作用范围就在这个函数的 “{ }”中,出了这个大括号,这个段代码就被系统收回了,这个区域就叫做:作用域。

再如:

int main ()

{

        // 这是主函数代码

        string str = "hello world";

        int a = 55;

        bool b = false;

}

主函数和我们定义的普通函数一样,也是具有作用域的,因此我们在主函数中声明的变量,也是同样的效果,一旦主函数执行完毕,这些变量占用的内存空间就被系统回收了。

以上这样的变量,被叫做:局部变量,它的特点是:只在作用域内有效果,一旦出了自己的作用域,就结束它的使命了。

 

       全局变量

全局变量与局部变量相反,它对作用域的限制没有那么严格,并且声明的位置也有所不同,如:

#include <iostream>

using namespace std;

int i = 999;

int main( )

{

        cout << i <<endl;

}

输出:999

// 我们可以看到,int i =999 这个变量声明赋值在主函数外,这个便是全局变量的特点。它不属于某个函数,也不属于任何语句块,而是属于整个C++源文件,可以在程序的任何位置调用它。

  全局变量 局部变量
作用范围 程序的任何位置 只在自己的作用域中
声明周期 程序结束了就销毁 作用域结束就销毁

 

        就近原则

如果定义了一个全局变量,名称为 i ,并赋值,然后又在主函数中重复定义了,即:变量类型、名称都一样,只是值不同,那么则以最后一个为准。

 

 

赞(0)
未经允许不得转载:171主机测评 » C++学习笔记系列2-9
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址