What is the meaning of = {0}; in C?



我在这个c代码样本中找到了= {0};的结构,在tidy.sourceforge.net上找到语句的右值是什么,它是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};

这将结构体中的所有字段初始化为零,在您的示例中是TidyBuffer。C语言的规则是,可以省略初始化子句中的成员,其余成员将初始化为零。在c++中,这也是合法的:

TidyBuffer output = {};

相关内容

最新更新