变量称为局部变量

下面的部分是建立在第14亿,在局部范围内一看。
当讨论变量时,将范围和持续时间的概念分离出来是很有用的。变量的范围决定了一个变量是可访问的。一个变量的持续时间决定创建和销毁它的地方。这两个概念往往是联系在一起的。
块内部定义的变量称为局部变量。局部变量具有自动持续时间,这意味着它们在定义的时候被创建(并且可能被初始化),并且当它们被定义的块退出时被破坏了。局部变量有块作用域(也称为局部作用域),这意味着它们在声明点的范围内输入范围,并且在它们被定义的块的结束时离开范围。

考虑这个简单的函数:

1
2
3
4
5
6
7
8
9
10
11
12
int main() // outer block
{
    int n(5); // n created and initialized here
 
    { // begin nested block
        double d(4.0); // d created and initialized here
    } // d goes out of scope and is destroyed here
 
    // d can not be used here because it was already destroyed!
 
    return 0;
} // n goes out of scope and is destroyed here

通过限制变量的范围,减少了程序的复杂性,因为活动变量的数量减少了。此外,它使它更容易看到变量被使用。在一个块内定义的变量只能在该块(或嵌套的子块)中使用。这可以使程序更容易理解。
规则:在最小范围内定义变量。
规则:避免使用与外部块中的变量相同的名称嵌套变量。
功能参数
虽然函数参数不是在属于函数的块内定义的,在大多数情况下,它们可以被认为是有块范围。

1
2
3
4
5
6
int max(int x, int y) // x and y defined here
{
    // assign the greater of x or y to max
    int max = (x > y) ? x : y; // max defined here
    return max;
} // x, y, and max all die here


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值