PDA

Visualizza la versione completa : [C] Tipo di dato strutturato (typedef) e suo puntatore


magicofred
29-05-2006, 23:45
vediamo se ho capito bene...

scrivere typedef struct abc{
...
};

significa che poi posso creare una struttura di tipo abc nel seguente modo?

abc struttura2;

??

oregon
30-05-2006, 00:05
In C (non in C++) non e' cosi'. Devi scrivere

typedef struct nodoBin {
...
} NodoBin;

e puoi scrivere

NodoBin n;

o anche

typedef struct {
...
} NodoBin;

e va bene sempre

NodoBin n;

KornShell
30-05-2006, 00:08
uno degli stili piu' chiari che ho visto :


typedef struct _TuaStruttura TuaStruttura

struct _TuaStruttura
{
int a;
float b;
.....
};

a questo punto:


TuaStruttura *qualcosa;

eclips
30-05-2006, 00:32
puoi fare anche cosi:

typedef int index;

struct list{
int *buffer;
index head;
index tail;
index size;
};

int main (void){

struct list l;

.
.
.
}

oregon
30-05-2006, 00:51
In effetti lo "stile" adottato per dichiarare un nuovo tipo di dati strutturato e un puntatore a tale tipo, e' il seguente



typedef struct _NUOVODATO
{
int a;
} NUOVODATO, *PNUOVODATO;

int main(void)
{
NUOVODATO struttura;
PNUOVODATO pstruttura;

struttura.a = 0;

pstruttura=&struttura;

return 0;
}

FxAndrea
30-05-2006, 18:44
Potresti fare cosi':

struct Struttura
{
..Struttura_vars..
};

Struttura *StrPtr;

StrPtr = new Struttura;

StrPtr -> Struttura_vars;

Bye

Loading