静态本地变量

2020-11-10  本文已影响0人  爱生活_更爱挺自己

静态本地变量

#include<stdio.h>

int f(void);

int main(int argc, char const *argv[])
{
    f();
    f();
    f();
    return 0;
}

int f(void)
{
    static int all = 1;
    printf("in %s all=%d\n", __func__, all);
    all += 2;
    printf("agn in %s all=%d\n", __func__, all);
    return all;
}
in f all=1
agn in f all=3
in f all=3
agn in f all=5
in f all=5
agn in f all=7

#inlcude<stdio.h>

int f(void);

int gAll = 12;

int main(int argc, char const *argv[])
{
    f();
    return 0;
}

int f(void)
{
    int k = 0;
    static int all = 1;
    printf("&gAll=%p\n", &gAll);
    printf("&all =%p\n", &all);
    printf("&k   =%p\n", &k);
    printf("in %s all=%d\n", __func__, all);
    all += 2;
    printf("agn in %s all=%d\n", __func__, all);
    return all;
}
&gAll=00402000
&all =00402004
&k   =0060FEFC
in f all=1
agn in f all=3

*返回指针的函数

上一篇 下一篇

猜你喜欢

热点阅读