Non riesco a capire come vengono inizializzati i seguenti elementi della struttura.
MSG m = {4, 1, 0}; .
MSG ha due elementi: uno è di tipo int e l'altro è un array di tipo short che è già stato inizializzato. A quali elementi di m sono assegnati i valori 4, 1 e 0? Ecco l'elenco del codice preso dal libro TCP IP in C 2nd Ed. (Pagina No. xi, Prefazione);
typedef struct {
int a;
short s[2];
} MSG;
MSG *mp, m = {4, 1, 0};
char *fp, *tp;
mp = (MSG *) malloc(sizeof(MSG));
for (fp = (char *)m.s, tp = (char *)mp->s; tp < (char *)(mp+1);)
*tp++ = *fp++;
Anche se ho letto su C un manuale di riferimento ma non sono riuscito a trovare la soluzione. Potrei averlo trascurato ma non posso procedere finché non avrò chiarito come viene eseguita l'inizializzazione in cui un elemento di m è un array di tre elementi di tipo short int stesso.