Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  


AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Enumerari

c

+ Font mai mare | - Font mai mic





DOCUMENTE SIMILARE

Trimite pe Messenger
Enumerari
Insereaza un elem pe prima pozitie
STRUCTURI DE DATE
Graf partial si subgraf
Variabile si aritmetica
Sterge valoarea primelor m nodurilor din lista
Operatorul de fortare a tipului sau de conversie explicita (expresie cast)
Stiva
Modalitati de reprezentare a algoritmilor
Sterge valoarea primului nod din lista

TERMENI importanti pentru acest document

Enumerari

O enumerare este o multime de constante intregi ce pot lua toate valorile unei variabile de un anumit tip.




Enumerarile se definesc in acelasi mod ca si structurile, utilizand cuvantul cheie enum ce semnaleaza inceputul unui tip enumerare. Forma generala de definire a unei enumerari este:

enum nume_tip_enum lista_variabile;

unde atat nume_tip_enum, cat si lista_variabile sunt optionale.

Exemplu: Urmatorul fragment defineste o enumerare numita 'bancnota' cu care apoi se declara o enumerare numita 'bani' avand acest tip:

enum bancnota ;

enum bancnota bani;

Dandu-se aceasta definitie si declaratie, sunt valabile urmatoarele instructiuni:

bani = mie;

if (5*bani == cincimii) printf('Sunt 5000 lei.n');

Trebuie precizat ca fiecare enumerator este caracterizat printr-o valoare intreaga. Fara nici o alta initializare, valoarea primului enumerator este 0, a celui de-al doilea este 1, s.a.m.d. De aceea, instructiunea: printf ('%d %d, suta, mie);

va afisa pe ecran: 0 3

Se pot specifica valorile unuia sau mai multor simboluri folosind initializatori. De exemplu:

enum bancnota ;

face ca simbolurile din enumerarea bancnota sa aiba valorile:

suta = 0

douasute = 1

cincisute = 2

mie = 1000

cincimii = 1001

zecemii = 1002

Urmatorul fragment de program nu functioneaza, deoarece 'bani' este un intreg si nu un sir :



bani = cincimii;

printf ('%s', bani);

Nici acest program nu functioneaza:

gets (s);

strcpy (bani, s);

Pentru a afisa tipurile bancnotelor continute in enumerarea 'bani', se va scrie:

switch (bani)

Uneori pentru a translata valoarea unui enumerator in sirul corespunzator, se poate declara un tablou de siruri si utiliza valoarea enumeratorului ca index. De exemplu, urmatorul fragment va afisa sirul corespunzator:

char name[ ][20] = ;

. . . . . .

printf ('%s', name[bani]);

Fragmentul anterior va functiona numai daca nu se realizeaza initializarea simbolurilor, deoarece indexarea sirurilor incepe cu zero. Urmatorul program afiseaza numele bancnotelor:

# include <stdio.h>

enum bancnota ;

char name[][20]=

void main()

Daca variabilei uniune y din exemplul urmator i se aplica operatorul sizeof() vom gasi sizeof(y) = 8.

# include <stdio.h>

union y;

void main()

Deci compilatorul va retine valoarea celei mai largi tipuri de date din uniune.






Politica de confidentialitate



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 558
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2022 . All rights reserved

Distribuie URL

Adauga cod HTML in site