首页 > 其他 > 详细

作用域

时间:2015-12-01 00:02:59      阅读:262      评论:0      收藏:0      [点我收藏+]

作用域 ---- 文件作用域、函数作用域、代码块作用域、原型作用域

  1.代码块作用域:以大括号包括的所有语句为一个代码块

    大括号外面无法访问大括号里面定义的标识符

    若大括号里面有和外面同名的标识符,则外面的该标识符在大括号里面无法访问

int i = 0;
{
    int i = 1;
    int j = 2;        
    printf("%d\n",i);    //输出1
}
printf("%d\n",i);      //输出0
printf("%d\n",j);     //错误

    不同语句块中的变量不能相互访问

{
    int j = 0;
}
{
    int i = 1;
    printf("%d\n",j);    //错误
}

  2.文件作用域

    不在任何代码块声明的变量、函数从声明处到文件末尾都可以访问,这样的标识符具有文件作用域。

    #include包含的也具有文件作用域

  3.原型作用域(prototype scope):只适用于在函数原型中声明的参数名

    唯一可能的冲突是同一个原型中声明两次同名变量

int fun(int i,int j);   //不能在一个原型中声明同名形参

  4.函数作用域

    只适用与语句标签,语句标签用于goto语句

    即一个函数的所有语句标签必须唯一

作用域

原文:http://www.cnblogs.com/hugue/p/5008667.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!