Nella speranza che qualcuno mi risponda al post sopra, faccio altre domande/considerazioni.
Da quanto ho capito suddividere un programma in più file è comodo per questi motivi:
se i moduli sono progettati bene e non hanno poche o nessuna dipendenza, possono essere modificati senza stravolgere tutto, oppure
riutilizzati per altri programmi.
Possono lavorare più programmatori contemporaneamente senza dover consultarsi continuamente su ciò che fa l'altro.
La suddivisione in più moduli poi se non ho capito male è alla base della programmazione ad oggetti, che nel C se non erro è primitiva.
Alla base della programmazione ad oggetti (sempre da ciò che a sommi capi ho capito), c'è l'incapsulamento e l'information hiding .
Cioè non rendere condivisibili alcune operazioni.
Per esempio il main potrebbe e dovrebbe essere all'oscuro di ciò che fa un modulo, o meglio di come lo fa.
Questo mi fa pensare che si debba fare uso di tipi incompleti.
Potrei dichiarare un tipo incompleto nel main, e poi implementare il tutto in un modulo .c per esempio make_struct.c (nome a caso).
In questo modo il main non saprebbe nulla della struttura, che rimarrebbe confinata nel modulo, magari con una funzione static che isola maggiormente.
Un esempio che ho letto in rete è: il main è quando mettiamo la chiave nel quadro per accendere la macchina, il modulo è il funzionamento del motore, che può essere diesel,
benzina o altro, ma poco importa, il gesto della chiave rimane lo stesso.
Quindi credo che anche gli ADT lavorino in questo modo, creare dei tipi astratti che poi i moduli concretizzano.
Volevo appunto fare una prova del genere: dichiarare un tipo incompleto di struttura nel main e poi implementarla in un modulo .c e magari in un altro la stampa dei membri.
é un ragionamento valido ?
Mi scuso se come ha detto M_A_W sono domande un po' sciocche...ma se il manuale che ho è un po' scarso, per ora ci posso fare poco.
A dire il vero ne ho un altro sugli algoritmi, ma mi sono fermato appunto qui.
Se avete voglia di leggere tutta sta pappaerdella e mi sapete dire...ve ne sarei grato.
