Menu
Coddy logo textTech

Dichiarare una struct

Fa parte della sezione Logica e flusso del percorso C di Coddy. Lezione 39 di 63.

Ora che hai capito cos'è una struct, è il momento di imparare a creare i tuoi tipi di struttura. Dichiarare una struct in C segue una sintassi specifica che definisce il modello per il tuo tipo di dati personalizzato.

La sintassi di base per dichiarare una struct è:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... altri membri
};

Ecco come funziona ogni parte: inizi con la parola chiave struct, seguita da un nome per la tua struttura, poi elenchi tutte le variabili membro tra parentesi graffe. Ogni membro viene dichiarato proprio come una normale variabile, con il tipo di dati e il nome. Non dimenticare il punto e virgola dopo la parentesi graffa di chiusura!

Ad esempio, per creare una struttura che rappresenti un punto nello spazio 2D:

struct Point {
    int x;
    int y;
};

Questa dichiarazione crea un nuovo tipo di dato chiamato struct Point che contiene due membri interi: x e y. Una volta dichiarato, questo tipo di struttura può essere utilizzato in tutto il programma per creare variabili che contengono informazioni sulle coordinate in modo organizzato.

challenge icon

Sfida

Facile

Crea un programma C che definisca una struct per rappresentare un libro in un sistema bibliotecario. Il tuo programma dovrà:

  1. Definire una struct denominata Book che contenga i seguenti membri:
    • Un intero id per memorizzare il numero identificativo del libro
    • Un array di caratteri title di dimensione 50 per memorizzare il titolo del libro
    • Un intero pages per memorizzare il numero di pagine
    • Un numero in virgola mobile price per memorizzare il prezzo del libro
  2. Dopo aver definito la struct, stampa un messaggio di conferma: Book struct defined successfully!
  3. Stampa la dimensione della struct Book in byte usando sizeof() nel formato: Size of Book struct: [size] bytes
  4. Stampa singolarmente la dimensione di ciascun membro:
    • Size of id: [size] bytes
    • Size of title: [size] bytes
    • Size of pages: [size] bytes
    • Size of price: [size] bytes

Questa sfida verifica la tua comprensione della sintassi di dichiarazione delle struct, incluso l'uso corretto della parola chiave struct, le dichiarazioni dei membri con tipi di dati appropriati e il punto e virgola dopo la parentesi graffa di chiusura. Esplorerai anche come C alloca la memoria per i membri delle struct usando l'operatore sizeof().

Ricorda che i valori esatti delle dimensioni possono variare a seconda dell'architettura del tuo sistema, ma la sintassi della definizione della struct deve essere corretta affinché il programma venga compilato ed eseguito correttamente.

Provalo tu

#include <stdio.h>

int main() {
    // TODO: Definisci qui la tua struct Book
    
    
    // Stampa il messaggio di conferma
    printf("Book struct defined successfully!\n");
    
    // TODO: Stampa la dimensione della struct Book e dei suoi membri
    
    
    return 0;
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore C online