typedef struct

l'istruzione typedef serve per definire nuovi tipi di variabile in aggiunta a quelli di default

sintassi:
typedef tipi nome_nuovo_tipo

esempio:
typedef int lunghezza; creo il tipo lunghezza
lunghezza variabile; dichiaro la variabile come lunghezza



con struct può creare tipi di variabile delle strutture dati

sintassi:
typedef struct nome_struttura

tipo variabile;
tipo variabile;
....;
} nome_tipo_variabile;

assegnazione:

  • durante la dichiarazione della variabile:
  • per assegnare i valori alle variabili che si dichiareranno successivamente é importante inserire i valori corretti a seconda del tipo di variabile indicato nella struttura.

    nome_tipo_variabile nome_variabile = {valori corretti a seconda dei tipi di variabili in struttura}

  • dopo la dichiarazione della variabile:

  • nome_variabile.nome_variabile_dentro_la_struttura = valore


    esempio:
    typedef struct libro

    {char titolo[100];
    char autore[50];
    int anno_pubblicazione;
    float prezzo;
    } t_libro;
    creato un tipo di variabile t_libro

    t_libro guida = {"Guida al C", "Fabrizio Ciacchi", 2003, 45.2};
    dichiarata una variabile guida e inseriti i valori


    é possibile anche dichiarre degli array

    esempio:
    t_libro raccolta[5000];

    esempi: utilizzo tipo creato

  • assegna un valore al prezzo del 341mo libro

  • raccolta[340].prezzo = 67.32;

  • assegna ad una variabile int l'anno di pubblicazione del 659mo libro

  • int anno = raccolta[658].anno_pubblicazione;

  • stampa il titolo del 23mo libro

  • printf ("%s n", raccolta[22].titolo);