码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中的static关键字

时间:2019-09-07 22:31:05      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:return   变量的存储   add   文件   全局变量   全局   初始化   数据   一个   

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;
    }

C语言中的static关键字

标签:return   变量的存储   add   文件   全局变量   全局   初始化   数据   一个   

原文地址:https://www.cnblogs.com/xyzfjp/p/11483168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!