Cuvantul cheie typedef

Sintaxa

typedef <definitie tip> <identificator> ;


Descriere

Cuvantul cheie typedef permite atribuirea numelui simbolic <identificator> definitiei de date <definitie tip>.

Spre exemplu definitia:

typedef unsigned short USHORT;

atribuie numele USHORT definitiei de tip unsigned short.

Deasemenea, daca dorim sa lucram cu siruri de lungime 40 sub numele str40 folosim definitia:

typedef char str40[41];

In contextul acestei definitii declaratia

str40 a,b;

defineste doua stringuri de lungime 41 de caractere. Astfel instructiunea

printf("\nsizeof(a) = %d\n",sizeof(a));

va tipari la consola text urmatoarele

sizeof(a) = 41

Fie spre exemplu definitiile

typedef char * PString;
typedef struct TNod * PNod;
typedef struct TNod * NodArray[1];//
typedef NodArray * PNodArray;
struct TNod {
    PString Name;
    int ID;
    int Len;
    PNod Tata;
    PNodArray Next;
};

Acestea atribuie numele simbolice:

PString tipului char *,
PNod tipului struct TNod *,
NodArray unui array de lungime 1 catre tipuri struct TNod *,
PNodArray tipului NodArray *,
unde TNod este o structura care are un campurile:

    PString Name;
    int ID;
    int Len;
    PNod Tata;
    PNodArray Next;

 

Cornel Mironel Niculae, 2004-2005

06-Feb-2005