【发布时间】:2013-06-26 18:17:19
【问题描述】:
我正在尝试定义一个静态结构并在声明它时对其值进行一次初始化,但我不太确定该怎么做。
我正在循环调用一个函数,我想在第一次调用函数时将 timespec(特别是 tv_sec 值)初始化为 0(某种默认值),但是再也不。
我知道我可以通过以下方式对整数和其他简单数据类型执行此操作:
static int foo = 0
但我想对结构做同样的事情,所以它不是那么简单。
基本上,我想这样做:static struct timespec ts.tv_sec = 0; 但是,那是非法的,所以我需要知道合法形式(如果存在的话)。
帮助?
【问题讨论】:
-
可以使用
{...}初始化结构体,是这个意思吗? -
@Matt 可能有用...
-
@Matt 是的,确实如此,谢谢,把它放在答案中,我会给你信用
-
好消息是:如果你想零初始化一个静态对象,你不需要做任何事情。默认情况下它是零初始化的。
标签: c static initialization