问答详情
源自:5-11 变量存储类别

变量存储类别

变量存储类别,这些东西怎么理解呀?有点看不懂了,求大神指导!   


   谢谢您


提问者:逆水中的鱼 2015-08-09 22:52

个回答

  • 伊兮尘昔
    2015-08-11 09:54:20

    静态局部变量属于静态存储类别,在静态存储区内分配存储单元,在程序整个运行期间都不释放;静态局部变量在编译时赋初值,即只赋初值一次;如果在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)。

  • 逆水中的鱼
    2015-08-10 16:25:35

    #include <stdio.h>

    void fn()

    {

        ? int x = 1;   //定义静态局部变量

        x*=2;

        printf("x=%d\n",x);     

    }


    int main()

    {

        int i;

        for(i=0;i<5;i++)

        {

            fn();

        }

        extern int x;      //调用外部变量

        printf("x=%d\n",x);

        return 0;

    }

    int x=100;

    不加static结果是2 2 2 2 2 100;这里加上static结果就变成2 4 8 16 36 100这是怎么计算的呢???


  • 伊兮尘昔
    2015-08-10 10:42:24

    左侧内容讲解中,哪块看不懂,截个图