/*局部变量与静态局部变量的区别*/

/*局部变量与静态局部变量的区别*/


//局部变量int a与静态局部变量static int b

#include <stdio.h>
#include <string.h>

void fun(void)
{
    int a=0;
    static int b=0;
    
    a++;
    b++;
    printf("局部变量a:%d\n",a);
    printf("静态局部变量b:%d\n\n",b);
}

int main()
{    
    fun();
    fun();
    fun();
    
}


/*编译结果:


局部变量a:1
静态局部变量b:1

局部变量a:1
静态局部变量b:2

局部变量a:1
静态局部变量b:3
*/

//结论:


/*
(1)局部变量从调用函数开始申请空间直到被调用函数结束释放空间
(2)静态局部变量从调用函数开始申请空间直到工程结束才释放空间,且只有第一次定义是才会被赋值,之后调用直接用上次调用保存的结果。
(3)局部变量位于栈区,静态局部变量位于全局静态区。
(4)静态局部变量拥有全局变量的生命周期,与局部变量的使用范围。
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值