INTRODUZIONE ALLA PROGRAMMAZIONE IN C



Bit Fields



I Bit Fields permettono il raggruppamento dei dati in una struttura. Questa tecnica viene usata soprattutto quando la gestione della memoria o la memorizzazione dei dati sono uno meta molto ambita. Tipici esempi sono costituiti da:

Il C permette di fare questo in una definizione di struttura, mettendo ":lunghezza-bit" dopo la variabile stessa, e cioe': struct packed-struct { unsigned int f1:1; unsigned int f2:1; unsigned int f3:1; unsigned int f4:1; unsigned int type:4; unsigned int funny_int:9; } pack; Qui la struttura packed-struct contiene 6 elementi: 4 flag da 1 bit (f1,... f4) e funny_int da 9 bit. Il C automaticamente raggruppa assieme i campi di bit elencati nell'esempio appena riportato. Solitamente si accede ai membri della struttura nel seguente modo: pack.type = 7; Notiamo che: