2010-06-26 2 views
0

Могу ли я инициализировать структуру, если другая структура? Например: У меня есть структура:Инициализировать структуру другой структуры

typedef struct _JobParam 
{ 
    MainWin* mw; 
}JobParam; 

Где также находится структура MainWin.

В основном коде у меня есть функция:

Может так инициализировать структуру или это не так?

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

Спасибо

+0

Вы уже пытались сделать это и это не удалось, или вы пытаетесь подтвердить, что он будет работать, прежде чем вы его попробуете? –

+0

Я хочу знать, что это правильный способ инициализации структур другой структуры или нет. – 0xAX

+0

Вы должны опубликовать свой основной(), чтобы мы могли видеть, что именно вы пытаетесь сделать. Недостаточно контекста, чтобы дать вам ответ, который вы ищите в противном случае. – SiegeX

ответ

1

Ну, в случае, вы показываете, это просто указатель, который становится все скопировано, так что это нормально. Если бы они были структуры, также было бы хорошо ... gcc будет излучать вызов memcpy в этом случае (по крайней мере, часто), но стандарт C действительно позволяет структура копирования:

struct s { int x; int y }; 
struct s a = { 3, 4 }; 
struct s b = a; 
Смежные вопросы