Strutture.
etichetta nome_struttura_1, nome_struttura_2; // dichiara due strutture
- È possibile accedere a un membro della struttura in base al seguente schema: nome_struttura.nome_variabile e consente di modificare o leggere il valore.
- Se due strutture hanno la stessa struttura (dichiarata dalla stessa etichetta), puoi semplicemente equiparare una struttura a un'altra, tutte le variabili verranno scritte di conseguenza al loro posto.
- Un'altra opzione conveniente è assegnare un valore come questo: nome_struttura = (etichetta) {valore_della_variabile_1, valore_della_variabile_2, valore_della_variabile_3};
Considera un esempio che mostra quanto sopra.
Dimensione dell'elemento nella struttura.
Le strutture consentono di fare una cosa molto interessante per l'ottimizzazione della memoria: specificare il peso massimo di un elemento in bit. In questo modo si possono creare anche flag di un bit (un normale bool / booleano occupa 8 bit di memoria). Questo viene fatto usando l'operatore due punti (:).
Allo stesso modo, puoi comprimere tipi di dati interi, ad esempio sappiamo che il valore di una variabile non supererà 50, possiamo dichiararlo all'interno della struttura come byte val: 6, che lo renderà a 6 bit in memoria . Per un piccolo insieme di variabili, questo non ha senso, ma se ce ne sono davvero molte, vale la pena inserirle in una struttura.
Strutture annidate.
Le strutture possono anche essere annidate l'una nell'altra, l'accesso all'elemento desiderato viene effettuato anche utilizzando l'operatore punto, vedere un semplice esempio: