Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Typedef

c


Typedef

C admite o facilitate numita typedef pentru a crea nume pentru
noi tipuri de date. De exemplu declaratia:

typedef int LENGTH;

face numele LENGTH sinonim pentru "int". Tipul LENGTH poate
fi utilizat in declaratii exact la fel ca int:

LENGTH len, maxlen;
LENGTH *lengths[];

Similar, declaratia:

typedef char*STRING;

face ca STRING sa fie sinonim cu char* sau pointerul unui
caracter, care poate fi utilizat in declaratii ca:

STRING p, lineptr[LINES], alloc();

Observati ca tipul fiind declarat printr-un typedef apare in
pozitia unui nume de variabila. Sintactic, typedef este ca o
clasa de memorie, extern, static, etc. In cazul de mai sus am
utilizat litere pentru a accentua numele.

Ca de exemplu mai complicat putem folosi typedef pentru
nodurile copacului prezentat mai inainte in acest capitol:

typedef struct tnode TREENODE, *TREEPTR;

Aceasta creeaza doua noi tipuri de cuvinte cheie numite TREENODE
(o structura) si TREEPTR (un pointer la structura), dupa care
rutina "talloc" poate deveni:

TREEPTR talloc()
{
char *alloc();
return((TREEPTR) alloc(sizeofTREENODE)));

Trebuie sa specificam ca un typedef nu creaza noi tipuri; mai
degraba renumeste tipurile existente. Variabilele astfel
declarate au exact aceleasi proprietati ca si variabilele a
caror declaratii sint explicite. In fond, typedef este ca un
#define, exceptind ca, de cind este interpretat de copilator el
face fata cu substitutiile in text care sint dincolo de
capacitatile C macro procesorului. De exemplu:

typedef int (*PFI) ();

creaza tipul PFI, care poate fi utilizat intr-un context ca

PFI strcmpp, numcmp, swap;

din programul de sort din capitolul 5.

Exista doua motive mai importante pentru a utiliza declaratiile
t9pedef. Primul este de a parametrizaun program alaturi de
problemele de portabilitate. Daca pse utilizeza typedef pentru
diferite tipuri de date care pot fi dependente de masina, numai
typedef necesita modificari daca programul este mutat pe alta
masina. O situatie obisnuita este de a folosi typedef pentru
cantitati intregi variate, cind se alcatuieste un set adecvat de
"short", "int" si "long" pentru fiecare masina.

Un al doilea scop a lui typedef este de a da mai mare claritate
unui program numit TREEPTR este mai usor de inteles decit unul
declarat ca un simplu pointer la o structura complicata.

In final, exista deja posibilitatea ca in viitor, compilatorul
sau * un alt program ca "lint" sa faca uz de informatia
continuta in typedef ca sa execute niste controale in plus asupra
programului.





Document Info


Accesari: 2048
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )