(23)'c++:COMPLETE REFERENCE' 第一部分 第三章(语句) 第四节

本文探讨了C++中变量作用域的相关概念,特别是在选择和循环语句中的变量声明方式。文章通过具体示例介绍了如何在if、switch、while及for语句中声明变量,并解释了这些变量的有效范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在选择和循环语句中声明变量

      在c++中(不适用C89标准),允许在if和switch语句的条件表达式中,在while循环的条件表达式中,在for循环的初始化部分定义变量.在这些地方声明的变量仅仅在循环代码块中有效.例如,for循环的初始化部分中声明的变量仅仅在循环中有效.看下面的例子:

/* i is local to for loop; j is known outside loop. */
int j;
for( int i=0; i<10; i++ )
    j = i * 1;

/* i=10; // *** Error *** -- i not knuwn here! */

      变量i在for的初始化部分被声明,在循环外,i是不可见的.因为循环的控制变量仅仅在循环中用到,所以在for循环的初始化部分声明变量是最普遍的做法.不过记住,在C89标准中这样做是不允许的.

提示: for循环中的初始化部分声明的变量仅在for循环中可见并不是一直以来的做法,最初,这种变量是在for循环之后的语句中也可见的.不过,

      标准C++对这种类型的变量的作用域做出了新的限制.

      如果你所使用的编译器是遵守最新的C++标准的,那么你可以在任何条件表达式中声明变量,比如在if或者while语句中.例如:

if( int x =20 ){
    x = x - y;
    if(x>10) y = 0;
}

      条件表达式中,x被声明并赋值为20.因为x的值等价于true,所以循环开始执行.在这个例子中,x相对于循环外的部分是不可见的.坦率的说,并非所有程序员都认为在表达式中声明变量是个好习惯,所以,在本书中将不使用这种技巧. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值