gpt4 book ai didi

C语言中的全局静态变量可以赋初始值吗?

转载 作者:行者123 更新时间:2023-11-30 21:42:43 24 4
gpt4 key购买 nike

我有一个全局变量“count”。我想做的就是每次循环运行时增加它。将静态计数初始化为 0 是否存在潜在问题?这在 C 语言中是如何工作的?

static unsigned short count = 0;
while(1)
{
count++;
// do something
}

最佳答案

是的,你可以,为什么你认为你不能?但如果值为 0,您可以跳过初始化,因为 static 变量会自动初始化为 0。另外,如@M.M commented here该值必须是常量,例如您不能分配 malloc() 的结果。

不存在潜在问题,也没有理由认为会有问题。除了整数溢出之外,在您的代码中,这肯定会发生,但它与变量的存储类无关。

关于C语言中的全局静态变量可以赋初始值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34687645/

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