Estructura C99 inicializadores designados y otro valor
Soy consciente de que en C99 puede inicializar miembros de la estructura utilizando el nombre del miembro de la siguiente manera:
struct myStruct
{
int i;
char c;
float f;
};
Entonces lo siguiente es válido:
struct myStruct m = {.f = 10.11, .i = 5, .c = 'a'};
También se dice que los miembros no inicializados se establecerán en0
. Entonces
struct myStruct m = {.f = 10.11, .c = 'a'};
aquíi
se establecerá en0
Pero, para lo siguiente:
struct myStruct m = {.f = 10.11, .c = 'a', 6};
i
todavía se inicializa a 0. ¿Cuál es la razón si hacemos tal inicialización compuesta?