静态局部变量

  在公司学习了已经三个月了,但是昨天却彻底把老大给气晕了! 他教给我的东西, 我都还给他了... ... 于是,决定把还记得的都写下来,下次不记得查起来也方便点.

         局部变量和静态(static) 局部变量有什么不同:  生存期不一样. 局部变量随着被调用的函数销毁而自行销毁, 静态局部变量则会等待整个程序结束才自行销毁.

         例子:

         void a()

        {

             int a = 0;

             static int b;

             a ++;

             b ++;

             printf(" a = %d , b = %d ", a, b );

         }

 

 

          void main()

          {

               a();

               a();

           }

 

           结果:

           a = 1, b = 2;

 

           全局变量和静态全局变量不同之处: 作用域不同. 全局变量在整个工程内有效, 而静态全局变量仅限于当前文件可用. 

           例子:

 

           工程内有a.cpp 和 b.cpp两个文件.

            a.cpp下定义了一个全局变量int g_Int;

           b.cpp想要引用g_Int, 只需声明 extern int g_Int 则可以正常使用. 函数也一样. extern void a();之后就可以在b文件下使用该函数.     而用static 声明的变量和函数则仅限于当前文件可用.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值