= {0}是什么意思?在C?

时间:2011-04-30 12:28:54

标签: c initialization stack

我在tidy.sourceforge.net找到的此C代码示例中找到了构造= {0}; 该语句的右值是什么,是ANSI C?

#include <tidy.h>
#include <buffio.h>
#include <stdio.h>
#include <errno.h>

int main(int argc, char **argv )
{
   const char* input = "<title>Foo</title><p>Foo!";
   TidyBuffer output = {0};
   TidyBuffer errbuf = {0};

1 个答案:

答案 0 :(得分:5)

这会将结构中的所有字段(在您的情况TidyBuffer中)初始化为零。 C中的规则是您可以在初始化子句中省略成员,其余的将初始化为零。在C ++中,这也是合法的:

TidyBuffer output = {};