Page 598 - Informatica dalla A a Z
P. 598

Per convenzione chiamiamo la struttura _punto, anteponendo un underscore al nome che
           vogliamo dare al nuovo tipo di dati.




                                                       Campi di Bit




           I campi di bit (bit fields) permettono l’accesso diretto ai singoli bit di un byte, ovvero im-
           pongono ai singoli campi delle struct una specifica e precisa dimensione in bit.


           Nota: Questa caratteristica è un esempio di come il C possa lavorare a basso livello.

                                                       struct persona
                                                       {
                                                       char nome[20];
                                                       char cognome[25];
                                                       char indirizzo[30];
                                                       }
           Questa struttura occupa 75 byte, esattamente il valore dato dalla somma 20 + 25 + 30 delle

           dimensioni dei singoli array di caratteri che compongono la struttura.

           Nota: Per convertire una struttura in unione è sufficiente sostituire la parola chiave “struct”

           con “union” che definisce appunto una unione.

           Usando, invece, la struttura dati unione, il codice occuperà solo 30 byte:

                 union persona
                 {
                   char nome[20];
                   char cognome[25];
                   char indirizzo[30];
                 };
           Ciò è dovuto al fatto che una union riserva uno spazio di memoria pari allo spazio necesario

           a contenere il più grande dei membri della struttura dati.

           Le union, per questo motivo, vengono utilizzate soprattutto quando si devono memoriz-
           zare differenti tipi di variabili ma in un dato momento se ne ha bisogno solo di una specifica

           tipologia.

                                                  Ordinamento e ricerca



           La necessità di ordinare un insieme di dati può nascere da svariate esigenze.

           Grazie ad una struttra (Struct) e un vettore della medesima, possiamo, come abbiamo vi-
           sto nel paragrafo relativo alle “Tabelle”, che possiamo creare una tabella formata dai

           campi della struttura.
                                                            594
   593   594   595   596   597   598   599   600   601   602   603