PDA

Visualizza la versione completa : [C] typedef struct ????


nightfall
02-02-2004, 17:20
Che cosa vuol dire il seguente listato...?
...Non mi e' chiaro l'uso del typedef struct...!!



typedef struct {
int a;
int b;
};

typedef struct {
int c;
int d;
};

PunkIvi
02-02-2004, 17:48
typedef definisce un nuovo tipo (come int, char ecc).

Quindi se faccio

typedef struct {

int a;

int b;

}Ciao;

Definisco un tipo chiamato Ciao, che una struttra con due interi al suo interno. Dopo questa dichiarazione puoi fare dichiarazioni tipo

Ciao Miavariabile

e hai dichiarato una variabile di nome Miavariabile che appunto una struct fatta in quel modo.

infinitejustice
02-02-2004, 17:50
nn vuol dire niente, infatti da errore in compilazione (anzi ne da 2)

Luc@s
02-02-2004, 18:06
semplicemente in C per istanziare una truct fai struct struttura var con


typedef struct {

int a;

int b;

}Ciao;



La instanzi con Ciao var

nightfall
02-02-2004, 18:30
So' come funzionano le strutture...
Ma avevo visto sul kernel di linux una cosa come quella che ho scritto (o almeno mi sembra)...

Solo che non riesco pi a trovarla... :dh:

xegallo
02-02-2004, 19:12
i titoli delle discussioni devono premettere il linguaggio

nightfall
02-02-2004, 19:22
e' vero... mi sono dimenticato... :dh:

Angioletto
02-02-2004, 20:59
typedef struct {

int a;

int b;

};



typedef struct {

int c;

int d;

};

Ho l'impressione che non significhi proprio niente..proprio come ha detto infinitejustice.

In effetti o scrivi

typedef struct {

int c;

int d;

} nome_struct;

e hai un nuovo tipo di dato, e quindi puoi fare dichiarazioni del tipo:

nome_struct pippo, pluto;

O, in via alternativa, puoi scrivere:

struct nome_struct {

int c;

int d;

};

che esattamente la stessa cosa di prima, infatti sono ancora valide le definizioni:

nome_struct pippo, pluto;

Loading