PDA

Visualizza la versione completa : [C] Luogo indicato per la definizione di una nuova struct


francescoprogc
28-11-2007, 12:01
Ciao ragazzi avrei una domanda da porvi
un
typredef struct ciccio
{
//....
}CICCIO

va definita in un .h o .c?

Skull260287
28-11-2007, 12:44
Originariamente inviato da francescoprogc
Ciao ragazzi avrei una domanda da porvi
un
typredef struct ciccio
{
//....
}CICCIO

va definita in un .h o .c?


Buona norma definirla in un file header, ovvero un file .h

Ed_Bunker
28-11-2007, 12:44
Originariamente inviato da francescoprogc
Ciao ragazzi avrei una domanda da porvi
un
typredef struct ciccio
{
//....
}CICCIO

va definita in un .h o .c?
Se e' una struttura che intendi usare in programmai differenti puoi definirla in un punto h che poi includerai di volta in volta a seconda delle necessita'.

Cosi' come l'hai scritta tu, hai definito un nuovo tipo di struttura (struct ciccio) ed anche una variabile globale di tale tipo (CICCIO) la quale potra' essere utilizzata da diversi programmi mediante (Credo) la dichiarazione 'extern struct ciccio CICCIO'.

Occhio perche' con le variabili "condivise" c'e' il rischio di far spesso "casino"...

MacApp
28-11-2007, 13:02
Originariamente inviato da Ed_Bunker
Cosi' come l'hai scritta tu, hai definito un nuovo tipo di struttura (struct ciccio) ed anche una variabile globale di tale tipo (CICCIO) la quale potra' essere utilizzata da diversi programmi mediante (Credo) la dichiarazione 'extern struct ciccio CICCIO'.

Occhio perche' con le variabili "condivise" c'e' il rischio di far spesso "casino"...
Falso. Non definisce alcuna variabile globale. Ci che ha scritto equivalente a:


struct ciccio{
//...
};
typedef struct ciccio CICCIO;

Ed_Bunker
28-11-2007, 14:58
Sorry...
mi sono sbagliato con

struct ciccio {
...
} CICCIO;

Loading