在c语言中或在c++中,static 是怎么用的,麻烦高人请详细说明一下,并且举两例子,谢谢。

如题所述

static应用主要有三个方面:

    如果定义的static变量为全局变量

    (1)这个static变量加载运行时会被存放在static数据区,并且会被初始化;

    (2)在一个大工程中假如有很多.c文件,假如这个变量被定义为static那么它的可见区域仅仅在当前文件,对于其他.c文件不可见

    如果用static修饰函数

    这个函数只在当前的.c文件中可见,在其他.c文件中不可见

    如果static变量为函数体里面的局部变量

    这个函数不管被调用多少次,这个static变量始终都只有一个实体而且只会被初始化一次,不像automatic变量那样每次调用该函数都会重新生成和初始化

    例如:

    int static_test(void)
    {
        static s=0;
        return s++;
    }

        第一次调用返回结果:0

        第二次调用返回结果:1

        第三次调用返回结构:2

        ......

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-07
静态变量的特点是:仅在程序开始运行时被初始化一次,以后每一次被调用时保存的的结果都可以在下一次被调用时使用。
所以如果希望每一次调用函数得到的结果在下一次调用时使用,就可以用static变量来保存这样的数据。
相似回答