// MODALITA' DI DEFINIZIONE DI UNA STRUTTURA
// (A) definisco solo una variabile:
struct {
int a;
float b;
char *c;
} a; // a e' una variabile non un tipo di dato!
// (B) definisco il tipo e una variabile:
struct esempio{
int a;
float b;
char *c;
} b; // esempio e' il tipo di dato,
// b e' la variabile
// (C) definisco il tipo di dato e dopo la varibile
struct esempio2{
int a;
float b;
char *c;
}; // esempio2 e' il tipo di dato
struct esempio2 c; // c e' la variabile
// (D) uso diretto di typedef:
typedef struct{
int a;
float b;
char *c;
} ESEMPIO3; // ESEMPIO3 e' il tipo di dato
ESEMPIO3 d; // d e' la variabile
// Si puo' notare che strutture diverse possono contenere variabili
// con lo stesso nome.
//Inoltre (in C ma non in C++):
struct x{
int x;
} x;
struct x funzioneX(struct x x){
return x;
}
int main(int argc, char **argv){
// ATTENZIONE la seguente riga non e' ammessa
d=c;
return 0;
}