0
点赞
收藏
分享

微信扫一扫

【C语言】- 初始变量的作用域和生命周期

1.作用域:

 变量在哪里使用,哪里就是它的作用域。

代码段(1):

#include<stdio.h>

int main()
{
    printf("haha\n");
    int a = 10;
    printf("a = %d", a);
    return 0;
}

变量a的作用域在 “printf("a = %d", a);这条语句。

代码段(2):

#include<stdio.h>

int main()
{
    printf("haha\n");
    printf("a = %d", a);
    {
        int a = 10;
    }
    return 0;
}

 在大括号里面定义的变量a的作用域是它自己所在的大括号的范围。

大括号里面的变量只能在大括号里面使用,上面代码的printf输出函数在大括号外面,所以此代码无法运行。

代码段(3):

//这是正确的写法

#include<stdio.h>

int main()
{
    printf("haha\n");
    {
        int a = 10;
        printf("a = %d", a);
    }
    return 0;
}

2.局部变量的作用域:

就是变量所在的局部范围。 

3.全局变量的作用域:

整个工程。 

执行性的代码必须放在大括号里面。

变量的创建可以放在大括号外面。 

4.生命周期

(1)变量的生命周期:

变量的创建和销毁之间的时间段。

代码段(4):

#include<stdio.h>

int main()
{
    {
        int a = 10;
        printf("%d\n", a);
    }
    return 0;
}

局部变量a进入进入局部范围创建之后,它的生命周期开始。

变量a在大括号外无法使用也就没必要存在了,所以a的生命周期在出大括号的一瞬间就结束了,a变量也就销毁了。 

(2)局部变量的生命周期:

进入局部范围什么开始,出局部范围生命结束。

(3)全局变量的生命周期:

整个程序的生命周期。

 

 

 

举报

相关推荐

0 条评论