c/c++ 变量作用域

时间:2023-12-27 18:54:43

在程序的不同位置,可能会声明各种不同类型(这里指静态或非静态)的变量。然而,声明的位置不同、类型不同导致每个变量在程序中可以被使用的范围不同。我们把变量在程序中可以使用的有效范围称为变量的作用域

任何变量都必须在声明之后才能被使用,所以一切变量的作用域都始于变量的声明之处。那么,它到什么地方终止呢?我们知道C++的程序是一个嵌套的层次结构,即语句块里面还能有语句块。最终语句块由各条语句组成,而语句就是程序中的最内层,是组成程序的一个最小语法单位。在某一层次声明的变量的作用域就终止于该变量所在层次的末尾。

#include <QCoreApplication>

#include <QDebug>
#include <iostream>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    qDebug()<<"qt fish@gmail.com"<<endl;
    std::cout << "x++ fish@gmail.com"<<std::endl;

    int b=4 ,c=4;
    qDebug()<<"init b "<<b<<"init c"<<c<<endl;
        {
            int c=9;
            b=7;
            qDebug()<<"get b from {}"<<b<<"get c from {}"<<c<<endl;
        }
         qDebug()<<"get b from main"<<b<<"get c from main"<<c<<endl;

    return a.exec();
}
输出结果
c/c++ 变量作用域