C语言学习笔记(三)

作用域

程序设计概念:通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域(通俗来讲,这段代码在哪个地方可用,哪个地方就是它的作用域,变量按作用域可分为“局部变量”“全局变量”。


(1)局部变量: 局部变量也称为内部变量。 局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。局部变量的作用域是变量所在的局部范围。

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{
    
    {
        int a = 2022; //局部变量
        printf("a = %d\n", a);


    }
    
    return 0;
}

a创建的变量可以在printf("%d\n",a)中使用,所以printf(“%d\n”,a)就是它的作用域

(2)全局变量: 全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为 extern。但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。extern的意思是虽然另一个源文件有一个全局变量但是我不清楚是否有,所以需要用extern来告诉它有这样一个全局变量。全局变量的作用域是整个工程。

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int g_val = 2022; //全局变量

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


生命周期

变量的生命周期通俗来说就是变量的创建和销毁之间的时间段,生命周期也分为局部变量的生命周期全局变量的生命周期。


(1)局部变量的生命周期:进入局部范围生命开始,出局部范围生命结束

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

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

    return 0;
}

比如这个局部定义int a = 10;当出了局部之后生命周期结束 

(2)全局变量的生命周期:全局变量的生命周期在程序定义这个变量的时候执行时诞生,在整个程序结束时消亡。全局变量所占用的内存是不能够在程序执行过程中被自己被释放的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值