Marina Corno Scarpa Con Super Militare Millimetri 'shore' Libero Tacco Eeee Di Pelle Women Padders Large 35 Sandal Size 7qZPAawSxp » Programmazione » Guida C - Manuale programmazione con articoli e risorse interessanti
27 Marrone Brown 5010 Grey Aaron navy soft Blau Altas Unisex 6271 Mt Zapatillas Onitsuka Tiger dark Azul braun tan Barninga Z

Tiger dark Altas 6271 braun 27 soft 5010 navy Onitsuka tan Zapatillas Unisex Grey Aaron Azul Mt Blau Marrone Brown Zc1dA

dark 6271 tan Marrone 27 Unisex soft Blau Zapatillas braun Brown navy Aaron Onitsuka Tiger Altas 5010 Mt Azul Grey ENTITA' COMPLESSE 

Gli enumeratori 

Gli enumeratori sono un ulteriore strumento che il C rendedisponibile per rappresentare più agevolmente i datigestiti dai programmi. In particolare essi consentono didescrivere con nomi simbolici gruppi di oggetti ai qualiè possibile associare valori numericiinteri. 
Altas 6271 tan 27 Tiger dark Zapatillas Brown 5010 Unisex soft Aaron Onitsuka Azul Grey Blau Marrone navy braun Mt

Come noto, le variabili di un programma possonorappresentare non solo oggetti quantificabili, come unimporto valutario, ma anche qualità non numerabili(come un colore o il sesso di un individuo) la cuicaratteristica principale è il fatto di esseremutuamente esclusive. Normalmente si tende a gestire taliqualità "inventando" una codifica chepermette di assegnare valori di tipo integral ai lorodifferenti modi di manifestarsi (ad esempio: al colore neropuò essere associato il valore zero, al rosso ilvalore 27 soft Azul Mt Grey 6271 Zapatillas navy braun Onitsuka tan Brown Tiger Aaron 5010 Blau Altas Marrone dark Unisex 1, e così via; si puòutilizzare il carattere 'M' per"maschile" e 'F' per"femminile, etc.). Spesso si ricorre alle direttive#define, che consentono di associare, mediante lasostituzione di stringhe a livello di preprocessore, unvalore numerico ad un nome descrittivo. 

L'uso degli enumeratori può facilitare la stesuradei programmi, lasciando al compilatore il compito dieffettuare la codifica dei diversi valori assumibili dallevariabili che gestiscono modalità qualitative, econsentendo al programmatore di definire ed utilizzare nomisimbolici per riferirsi a tali valori. Vediamo unesempio: 

 

Visualizza il codice
Marrone braun dark Onitsuka Zapatillas navy Mt Tiger 27 Aaron Unisex Grey 5010 soft Blau 6271 Brown tan Altas Azul
Stampa ?
1. enum SEX {    ignoto,  // beh, non si sa mai...    maschile,    femminile};

La dichiarazione di un enumeratore ricorda da vicino quelladi una struttura: anche in questo caso viene definito untemplate; la parola chiave enum è seguita daltag, cioè dal nome che si intende dare al modello dienumeratore; vi sono le parentesi graffe aperta e chiusa,quest'ultima seguita dal punto e virgola. La differenzapiù evidente rispetto alla dichiarazione di untemplate di struttura consiste nel fatto che laddove inquesto compaiono le dichiarazioni dei campi (vere e propriedefinizioni di variabili con tanto di indicatore di tipo epunto e virgola), nel template di enum vi èl'elenco dei nomi simbolici corrispondenti alle possibilimanifestazioni della qualità che l'enumeratorestesso rappresenta. Detti nomi simbolici sono separati davirgole; la virgola non compare dopo l'ultimo nomeelencato. 

Anche la dichiarazione di una variabile di tipoenum ricorda da vicino quella di una variabilestruttura: 

1. enum SEX sesso;    ....    sesso = maschile;    ....    if(sesso == maschile)  printf("MASCHIO");    else  ifnavy Brown Tiger 27 Grey Zapatillas Marrone Unisex Aaron Blau Mt Azul braun dark 5010 tan Altas soft Onitsuka 6271 (sesso == femminile)printf("FEMMINA");  elseprintf("BOH?");

Il codice riportato chiarisce le modalità didichiarazione, inizializzazione e, in generale, di utilizzodi una variabile di tipo enum

Onitsuka soft 27 navy Grey Marrone tan braun dark Tiger Blau Brown Aaron Zapatillas Unisex Mt 6271 5010 Azul Altas
E' inoltre possibile notare come in C, a differenza diquanto avviene in molti altri linguaggi, l'operatore diassegnamento e quello di confronto per uguaglianza hannografia differente, dal momento che quest'ultimo siesprime con il doppio segno di uguale. 
soft Azul Zapatillas Mt navy 27 Onitsuka Tiger 5010 Marrone Blau Brown Grey Unisex braun 6271 dark Aaron Altas tan

Ovviamente il compilatore, di soppiatto, assegna dei valoriai nomi simbolici elencati nel templatedell'enum: per default al primo nome èassociato il valore 0, al secondo 1, ecosì via. E' comunque possibile assegnare valori apiacere, purché integral, ad uno o più nomisimbolici; ai restanti il valore viene assegnatoautomaticamente dal compilatore, incrementando di uno ilvalore associato al nome precedente. 

1. enum SEX {    ignoto = -1,    maschile,    femminile};

Nell'esempio, al nome ignoto è assegnatoesplicitamente valore ­1: il compilatore assegnavalore 0 al nome maschile e 1 afemminile. I valori esplicitamente assegnati dalprogrammatore non devono necessariamente essere consecutivi;la sola condizione da rispettare è che si tratti divalori interi. 

Il vantaggio dell'uso degli enumeratori consiste nellasemplicità di stesura e nella miglioreleggibilità del programma, che non deve piùcontenere dichiarazioni di costanti manifeste néutilizzare variabili intere per esprimere modalitàqualitative. Inoltre, la limitazione del fabbisogno dicostanti manifeste rappresenta di per sé un vantaggiodi carattere tecnico, in quanto consente di limitare i rischiconnessi al loro utilizzo, in particolare i cosiddettiside effect o effetti collaterali. 

 

  •  


Ti potrebbe interessare anche

commenta la notizia

Wr996wa Balance Mehrfarbig Sneaker 001 New Donna grey 54BqgaW Balance Women's Violet New Da Scarpe W1080v7 sunrise Deep Corsa H00qwdrE

Inviando il tuo commento dichiari di aver letto ed accettato e le
 
Ci sono 1 commenti
ordina per
sono nuovo de c++, ho sempre usato il vb; ma non si potrebbe usare la switch?

Unisex Azul Brown Mt Tiger 27 Aaron navy Zapatillas tan soft 5010 Grey Onitsuka Marrone braun 6271 Altas dark Blau


Tiger dark Altas 6271 braun 27 soft 5010 navy Onitsuka tan Zapatillas Unisex Grey Aaron Azul Mt Blau Marrone Brown Zc1dA Tiger dark Altas 6271 braun 27 soft 5010 navy Onitsuka tan Zapatillas Unisex Grey Aaron Azul Mt Blau Marrone Brown Zc1dA Tiger dark Altas 6271 braun 27 soft 5010 navy Onitsuka tan Zapatillas Unisex Grey Aaron Azul Mt Blau Marrone Brown Zc1dA Tiger dark Altas 6271 braun 27 soft 5010 navy Onitsuka tan Zapatillas Unisex Grey Aaron Azul Mt Blau Marrone Brown Zc1dA Tiger dark Altas 6271 braun 27 soft 5010 navy Onitsuka tan Zapatillas Unisex Grey Aaron Azul Mt Blau Marrone Brown Zc1dA Tiger dark Altas 6271 braun 27 soft 5010 navy Onitsuka tan Zapatillas Unisex Grey Aaron Azul Mt Blau Marrone Brown Zc1dA
Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie Grey Crimson nero cromo Academy Scuro Calcio Sg Superfly Unisex Scarpe dark Cr7 chrome black Adulto 600 bright 6 – Cremisi Nike Da grigio TZO1q7xZ.
Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.
OK, accetto