C 初始化其他结构的结构

C 初始化其他结构的结构,c,initialization,C,Initialization,如果是其他结构,我可以初始化结构吗?例如:我有一个结构: typedef struct _JobParam { MainWin* mw; }JobParam; 这里也是MainWin结构 在主代码中,我具有以下功能: so可以初始化结构,还是它的方式错误 void load (MainWin* mw) { Param param; param.mw = mw; } 谢谢你好吧,在你展示的例子中,它只是一个被复制的指针,所以没关系。如果它们是结构,也可以gcc将发出对mem

如果是其他结构,我可以初始化结构吗?例如:我有一个结构:

typedef struct _JobParam
{
  MainWin*   mw;
}JobParam;
这里也是MainWin结构

在主代码中,我具有以下功能:

so可以初始化结构,还是它的方式错误

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

谢谢你

好吧,在你展示的例子中,它只是一个被复制的指针,所以没关系。如果它们是结构,也可以<在这种情况下(至少经常),code>gcc将发出对
memcpy
的调用,但C标准允许结构复制:

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

您是否已经尝试过这样做,但失败了,或者您正在尝试在尝试之前确认它是否可以工作?我想知道这是初始化其他结构的结构的正确方法,或者您是否应该发布main(),以便我们了解您到底在尝试做什么。没有足够的上下文来给你想要的答案。