首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Static storage duration

一个对象,其标识符在没有存储类说明符的情况下声明_Thread_local,并且具有外部或内部链接或存储类说明符static,具有静态存储持续时间。它的生命周期是程序的整个执行过程,在程序启动之前,它的存储值只被初始化一次。

注意

由于其存储值仅初始化一次,因此具有静态存储持续时间的对象可以剖析函数的调用。

关键字的另一个用途static是文件范围。

剖析函数f()的调用。

代码语言:javascript
复制
#include <stdio.h>
 
void f (void)
{
    static int count = 0;   /* static variable    */
    int i = 0;              /* automatic variable */
    printf("%d %d\n", i++,count++);
    return;
}
 
int main(void)
{
    for (int ndx=0; ndx<10; ++ndx)
        f();
 
    return 0;
}

可能的输出:

代码语言:javascript
复制
0 0
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com