c++全局变量、局部变量、语句块变量

全局变量和局部变量

全局变量的作用域是**整个程序**。

局部变量的作用域就是定义它的那个函数,如果此**函数结束运行**,那么这个局部变量就会被**销毁**。

语句块变量就是一个{}里面的变量。ps:语句块主要是一个作用域的概念,它起始于标识符的声明处,结束于标识符声明所在语句块的结束右大括号"}"处。

全局变量在大型的程序里还是尽量少用,因为全局变量会导致程序的可读性降低,毕竟当名字相同你不知道它是全局变量的x还是局部变量的x。当然如果你程序很少用全局变量其实是很方便的。
#include <iostream>
using namespace std;

int x=1;

int main()
{

    //在还没有定义x之前,调用的是全局变量x
    
    cout<<"first one:"<<x<<endl;
    printf("first adress:%p\n",&x);
    
    //在main函数中定义了x,那么全局变量x将被隐藏
    
    int x=8;
    cout<<"second one:"<<x<<endl;
    printf("second adress:%p\n",&x);
    
    //下面是一个语句块,下面定义的x就只能在这个语句块里面用,而main函数里面的x和全局变量x都将会被隐藏
    
    {
        int x=3;
        cout<<"third one:"<<x<<endl;
        printf("third adress:%p\n",&x);
    }
    
    //语句块的x被销毁了
    
    cout<<"fourth one:"<<x<<endl;
    printf("fourth adress:%p\n",&x);
    return 0;
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值