Scrigroup - Documente si articole

     

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


Uniuni

c



+ Font mai mare | - Font mai mic



Uniuni

In C o uniune este o zona de memorie utilizata de mai multe variabile ce pot fi diferite ca tip. Definitia uniunilor este similara celei a structurilor.



Exemplu:

union tip_u ;

O variabila de acest tip poate fi declarata fie prin plasarea numelui sau la sfirsitul acestei definitii, fie utilizand o instructiune de declarare separata. De exemplu, instructiunea :

union tip_u exuniune;

declara variabila-uniune 'exuniune' in care atat intregul i, cat si caracterul ch ocupa aceeasi zona de memorie (cu toate ca int ocupa 4 octeti, iar char numai un octet).

Cand se declara o variabila union compilatorul C rezerva o zona de memorie suficient de lunga capabila sa preia variabila cu lungimea cea mai mare.

Pentru a accesa elementele unei uniuni se utilizeaza aceeasi sintaxa folosita la structuri (operatorii punct si ' -> ').

Cand un element al unei uniuni se adreseaza direct, se utilizeaza operatorul '.', iar cand elementul se adreseaza printr-un pointer, se foloseste operatorul '-> '.

De exemplu, pentru a atribui elementul intreg i al uniunii anterioare 'exuniune' valoarea 10, se va scrie:

exuniune.i = 10;

In exemplul urmator, programul transfera un pointer la 'exuniune' unei functii :

func1(union tip_u *un)

/* se atribuie valoarea 10 intregului i al uniunii exuniune */

In C, uniunile sunt des utilizate cand sunt necesare conversii de tip. De exemplu, functia standard putw() ce realizeaza scrierea binara a unui intreg intr-un fisier de pe disc, poate fi scrisa folosind o uniune. Pentru aceasta, mai intai se creaza o uniune ce cuprinde un intreg si un vector de doua caractere, astfel:

union pw ;

Atunci, structura lui putw(), utilizand aceasta uniune este :

putw(word, fp)

union pw word; /* se declara uniunea word */

FILE *fp



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 738
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 2024 . All rights reserved