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?

Respuestas a la pregunta(3)

Su respuesta a la pregunta