Skip to content

Array, Struct, Union e Typedef

I tipi derivati sono costruiti a partire dai tipi base. Abbiamo già visto i puntatori, ora esploriamo Array, Strutture, Union e Alias.

Un array è una sequenza di oggetti contigui in memoria, tutti dello stesso tipo. In C, gli array partono dall’indice 0.

int numeri[5]; // Un array in grado di contenere 5 interi
numeri[0] = 10;
numeri[4] = 99; // Ultimo elemento valido

A differenza dell’array, una struct permette di raggruppare sotto un unico nome variabili di tipi diversi. I singoli componenti sono chiamati membri.

Per accedere ai membri di una struct normale si usa il punto (.). Se hai un puntatore a una struct, si usa la freccia (->).

La parola chiave typedef ti permette di creare un alias, ovvero un nuovo nome per un tipo già esistente. È comodissimo usato insieme alle struct.

typedef struct {
int id;
int eta;
} Utente; // Ora posso usare "Utente" come un normale tipo di dato!
Utente u;
u.eta = 25;

Le union hanno la stessa sintassi delle struct, ma c’è una differenza cruciale: i membri di una union condividono tutti la stessa porzione di memoria. Di conseguenza, una union può memorizzare un solo membro alla volta. Serve principalmente a risparmiare memoria o per manipolare dati a basso livello.

💻 Esercizio Pratico: Struct e Puntatori

Section titled “💻 Esercizio Pratico: Struct e Puntatori”

In questo esercizio, usa un puntatore a Libro per modificarne i valori. Ricorda l’operatore freccia (->)!