2010-06-26 8 views
0

Puis-je initialiser la structure si autre structure? Par exemple: J'ai la structure:Initialiser la structure de l'autre structure

typedef struct _JobParam 
{ 
    MainWin* mw; 
}JobParam; 

Où MainWin structure aussi.

Dans le code principal j'ai fonction:

la structure soi-initialisation peut ou il est le mauvais sens?

void load (MainWin* mw) 
{ 
    Param param; 
    param.mw = mw; 
} 

Merci

+0

Avez-vous déjà essayé de le faire et il a échoué, ou essayez-vous de confirmer que cela fonctionnera avant de l'essayer? –

+0

Je veux savoir que c'est la bonne façon d'initialiser les structures des autres structures, ou pas – 0xAX

+0

Vous devriez publier votre main() afin que nous puissions voir exactement ce que vous essayez de faire. Pas assez de contexte pour vous donner la réponse que vous cherchez autrement. – SiegeX

Répondre

1

Eh bien, dans le cas où vous montrer, il est juste un pointeur qui devient copié c'est très bien. Si elles étaient des structures, il serait également ok ... gcc émettra un appel à memcpy dans ce cas (au moins souvent), mais la norme C ne permet la copie de la structure:

struct s { int x; int y }; 
struct s a = { 3, 4 }; 
struct s b = a;