Nella correzione che viene fatta nella soluzione, non mi e' chiaro il perche' viene fatta la scelta di allocare dinamincamente l'array, invece di farlo restare come Array automatico?
Aggiungo una mia deduzione, che vorrei sapere se e' corretta....
Ma nel Void, l'allocazione deve essere sempre un allocazione Dinamica?
Provo a dare una mia giustificazione al fatto che l'allocazione deve essere dinamica.....
Siccome nella struct si ha un puntatore dichiarato
char *s;
questo ci fa capire che nel void non ci potrà essere un array automatico, in quanto la natura dei puntatori ci porta ad un'allocazione di tipo dinamica, quindi si passa da array automatico:
char stringa[15];
ad array allocato dinamicamente:
char *stringa;
stringa = strdup("Avvio");
P.S. Ma non si potrebbe scrivere tutto su una stessa riga invece di due righe?
Cioè non si potrebbe scrivere così?
char *stringa = strdup("Avvio");
Allegati: