打印

C语言学习笔记——变量作用域

[复制链接]
578|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
czr012|  楼主 | 2017-1-17 21:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
相同标示符的新声明会将外面的声明隐藏起来,而内部的作用域无法看见外面语句块中所声明的变量或函数
double  x;           //声明一个变量x,具有文件作用域            
long  calc(double x);   //声明一个新的x,具有函数原型作用域
int main()
{
   long  x=calc(2.5);   //声明一个long变量x,具有语句块作用域
   if(x<0)
{
   Float  x=0.0F;   //声明一个新的浮点变量x,具有语句块作用域
   /*…*/
}
x*=2;            //x还是long变量
}
Main()函数内的long变量x,会把类型为double的变量x隐藏起来,因此,在main()中无法直接存取double变量x,而且在if条件语句块中,x引用新声明的float变量,这又隐藏long变量x。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

16

帖子

0

粉丝