C语言中的static关键字

C语言中的static关键字

    (1) 修饰局部变量,限定变量的生命周期。变量的存储类别由栈区变为静态数据区。

    int main()
    {
        int x=9;    //普通局部变量,存储在栈区
        static int x=9; //静态局部变量,存储在静态数据区
        return 0;
    }

    (2) 修饰全局变量,限定变量的作用域,该全局变量只能在本源文件中调用,而不能在该工程下的其他文件调用。初始化后的静态全局变量仍然存储在静态数据区,未初始化的静态全局变量保存在bss段。

    int m=6;            //存储在静态数据区
    static int n;       //存储在bss段
    int main()
    {
        int x=9;    //普通局部变量,存储在栈区
        static int x=9; //静态局部变量,存储在静态数据区
        return 0;
    }

    (3) 修饰函数,限定函数的作用域,为了防止同一个工程下不同C文件中的函数重名问题(C++中重载的引入成功的解决函数重名问题)。同时限定该函数的连接属性为内部链接。

    static int add(int x, int y)
    {
        return x+y;
    }
    static double add(double x, double y)
    {
        return x+y;
    }

转载于:https://www.cnblogs.com/xyzfjp/p/11483168.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值