gpt4 book ai didi

c - 静态变量未被初始化

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:39 25 4
gpt4 key购买 nike

我正在使用 Yagarto GCC 编译器,但在使用局部静态变量时发现问题。它们在声明时都被我初始化为零。但是在调试执行时,我发现它们没有被初始化:

例子:

void hello( void ){
static int number_hellos = 0;

number_hellos++;

printf("%d\n", number_hellos);

}

当调试器到达number_hellos++时,我发现它的初始值不是0。为什么?是否应该启用任何编译器或链接器标志?

最佳答案

这个静态初始化:

static int number_hellos = 0;

只发生一次。实际上在编译时。不是在进入函数的时候。

关于c - 静态变量未被初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25442168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com