C语言的作用域

接上。

标识符就是变量的名称,可以用来指定特定对象的内容。

作用域,通俗地来说就是标识符的活动空间,就像孙猴子(程序猿)给他师父(标识符)画的圈,官方的说法呢就是程序中可访问标识符的区域(可以在哪找到标识符)。


一个C变量的作用域可以是块作用域、函数作用域、函数原型作用域或是文件作用域。

  • 是用一对花括号括起来的代码区域。定义在块中的变量具有块作用域,块作用域变量的可见范围是从定义处到包含该定义域的块的结尾。另外,虽然函数的形式参数声明在左花括号之前,但他们也具有块作用域,属于函数体这个块。
    int a(int b)               //b属于a的函数块
    {
        int i,c = 0;
        for(i = 0; i < 9; i++)
        {
            int d =  b * i     //d的作用域开始
            ...
            
        }                      //d的作用域结束
        return d;
    }
    在该例中,d的作用域仅限于内层块,只有内层块中的代码能访问d。对于for循环还可以这么写,其他循环或选择语句类似
    for (int i=0; i < 9; i++)    //变量i被视为for循环块的一部分,作用域仅限于for循环,一旦        
                                 //离开循环就不能再访问。    
                               

     

  •  

    函数原型作用域用于函数原型中的形参名,其范围从形参定义处到原型声明结束。不过形参名只有在变长数组中才有用。

     
    int e(int f, int g);     
    
    
    viod h(int j, int k, ar[j][k]);  //方括号中必须使用在函数原型中已声明的名称

     

  •  变量的定义在函数的外面,具有文件作用域,从它的定义处到该文件末尾均可见

     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值