В чем смысл = {0};в С? - PullRequest
       4

В чем смысл = {0};в С?

2 голосов
/ 30 апреля 2011

Я нашел конструкцию = {0}; в этом примере C-кода, найденную на 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};

1 Ответ

5 голосов
/ 30 апреля 2011

Это инициализирует все поля в структуре, в вашем случае TidyBuffer, нулями. Правило в C состоит в том, что вы можете опустить элементы в предложении инициализации, а остальные будут инициализированы нулем. В C ++ это также допустимо:

TidyBuffer output = {};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...