Предполагая, что MyRecorder
является struct
, это sets every member to their respective representation of zero (0
для целых чисел, NULL
для указателей и т.д.).
На самом деле это также работает на всех других типов данных, таких как int
, double
, указатели, массивы, вложенные структуры, ..., все, что вы можете себе представить (спасибо PMG за указание на это!)
UPDATE: котировка извлекается из веб-сайта, связанного выше, ссылаясь на окончательный проект C99:
[6.7.8.21] Если есть меньше инициализаторы в списке распорной корпусе, чем есть элементы или члены совокупности, [ ...] остаток от неявно инициализируется таким же образом, как объекты, которые имеют статическую продолжительность хранения.
Я хотел бы назвать '{0} ', то *** универсальный нулевой инициализатор ***. Он «работает», рекурсивно при необходимости, для каждого типа! ints, doubles, structs, массивы, указатели, указатели на структуры, структуры с массивами указателей, ..., – pmg
pmg: опубликуйте это как ответ! –
@pmg - почему вы не опубликовали свой комментарий в качестве ответа? – vikingosegundo