INTRODUZIONE ALLA PROGRAMMAZIONE IN C



Enumerated Types



Gli enumerated types contengono un elenco di costanti che possono essere indirizzate con valori integer. Per dichiarare tali tipi si utilizza "enum"; vengono dichiarati i tipi e le variabili come nell'esempio che segue: enum colori {rosso, giallo, verde, blu} pennarello; enum giorni (lun,mar,mer,gio,ven,sab,dom} settimana; enum colori pulsante, nastro; In tale esempio viene dichiarato colori come enumerated type e la variabile pennarello con 4 valori accettabili definiti, mentre la variabile settimana di tipo giorni ha 7 valori accettabili definiti. Le variabili pulsante e nastro sono di tipo colori. Ogni item nell'elenco di valori accettabili e' detto enumeration constant. Il C mappa ogni enumeration constant ad un'intero, per cui e' ad esempio possible scrivere: settimana=verde; che come risultato fa si che settimana abbia valore 2, perche' di default a ogni membro dell'elenco di variabili e' assegnato un valore incrementale partendo da 0 per il primo valore (come gia' visto per gli array). E' possibile definire valori diversi agli elementi: enum colori {rosso=10, giallo=30, verde, blu=giallo}; Un ulteriore esempio relativo all'assegnazione di valori diversi e' il seguente: enum escapes {bell='\a', backspace='\b', tab='\t', newline='\n', vtab='\v', return='\r'}; E' anche possibile annullare il valore iniziale 0: enum months (jan=1,feb,mar,...dec); dove e' implicito che febbraio=2, marzo=3 e cosi' via.