Le struct in C: un’introduzione per principianti

Le struct in C sono un potente strumento per creare tipi di dati personalizzati e raggruppare dati correlati. In questo articolo, vi guiderò passo dopo passo attraverso la loro definizione, utilizzo e alcune best practice.

Sintassi:

Una struct viene definita usando la parola chiave struct seguita dal nome della struttura e da una coppia di parentesi graffe che racchiudono la lista dei suoi membri. Ogni membro è composto da un tipo di dato e da un nome identificativo.

struct Persona {
  char nome[50];
  int eta;
  float stipendio;
};

In questo esempio, definiamo una struct chiamata Persona con tre membri:

  • nome: un array di caratteri di lunghezza 50 per memorizzare il nome
  • eta: un numero intero per memorizzare l’età
  • stipendio: un numero decimale per memorizzare lo stipendio

Creazione e utilizzo di variabili struct:

Per creare una variabile di tipo struct, si usa la parola chiave struct seguita dal nome della struttura.

struct Persona persona1;

Ora, persona1 è una variabile di tipo Persona che può essere utilizzata per memorizzare i dati di una persona.

Per accedere ai membri di una struct si usa l’operatore . seguito dal nome del membro.

strcpy(persona1.nome, "Mario Rossi");
persona1.eta = 30;
persona1.stipendio = 2500.0f;

Esempio d’uso:

Supponiamo di voler scrivere un programma per memorizzare i dati di alcuni studenti. Possiamo utilizzare una struct per definire un tipo di dato Studente con i seguenti membri:

  • matricola: un numero identificativo
  • nome: un array di caratteri per memorizzare il nome
  • cognome: un array di caratteri per memorizzare il cognome
  • voto: un numero decimale per memorizzare il voto
struct Studente {
  int matricola;
  char nome[50];
  char cognome[50];
  float voto;
};

// Crea un array di 10 studenti
struct Studente studenti[10];

// Inserisci i dati del primo studente
studenti[0].matricola = 12345;
strcpy(studenti[0].nome, "Mario");
strcpy(studenti[0].cognome, "Rossi");
studenti[0].voto = 28.5;

// ...

// Stampa i dati di tutti gli studenti
for (int i = 0; i < 10; i++) {
  printf("Matricola: %d\n", studenti[i].matricola);
  printf("Nome: %s\n", studenti[i].nome);
  printf("Cognome: %s\n", studenti[i].cognome);
  printf("Voto: %.2f\n\n", studenti[i].voto);
}

Best practice:

  • Scegli nomi significativi per le struct e i loro membri.
  • Usa typedef per creare alias per le struct comunemente utilizzate.
  • Documenta le tue struct con commenti.
  • Usa le struct per raggruppare dati logicamente correlati.
  • Evita di nidificare le struct troppo a fondo.

Conclusione:

Le struct sono un potente strumento per organizzare e gestire i dati in C. Imparare a usarle correttamente può rendere il tuo codice più efficiente e leggibile.

Altri articoli che potrebbero interessarti:

Pubblicato da Carlo Contardi

Carlo Contardi, docente di informatica e sviluppatore Full Stack, condivide la sua passione per la programmazione e l’informatica attraverso il suo blog Space Coding. Offre preziosi consigli e soluzioni pratiche a chi vuole imparare a programmare o migliorare le proprie abilità. 🚀👨‍💻

Translate »