¿Es una lista de inicialización vacía un código C válido?
Es comun de usar{0}
para inicializar unstruct
o unarray
pero considere el caso cuando el primer campo no es un tipo escalar. Si el primer campo destruct Person
es otrostruct
o matriz, entonces esta línea dará como resultado un error (error: missing braces around initializer
).
struct Person person = {0};
Al menos GCC me permite usar una lista de inicialización vacía para lograr lo mismo
struct Person person = {};
Pero, ¿es este código C válido?
También: ¿Se garantiza que esta línea dé el mismo comportamiento, es decir, una inicialización cero?struct
?
struct Person person;