你能在C中为全局静态变量赋值初始值吗?

时间:2016-01-08 23:14:44

标签: c

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

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

1 个答案:

答案 0 :(得分:2)

是的你可以,为什么你认为你不能?但如果值为0,则可以跳过初始化,因为static变量会自动初始化为0。此外,由于@ M.M commented here强制要求该值为常量,因此您无法分配malloc()的结果。

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