在c语言中从嵌套结构中提取结构

在c语言中从嵌套结构中提取结构,c,nested,structure,extract,C,Nested,Structure,Extract,我有以下问题: 我有一个全局结构,里面有很多结构。 现在我想把其中一个子结构拿出来,放在另一个结构里 typedef struct { int a; }A; typedef struct { int b; }B; typedef struct { A dummy1; B dummy2; } C; 我想声明从C中提取A的第四个结构。 我做了我的记忆,这是唯一的方法吗 非常感谢您的帮助 谢谢 Huzaifa应该能够抓住dummy1的参考 typedef struct { A d

我有以下问题:

我有一个全局结构,里面有很多结构。 现在我想把其中一个子结构拿出来,放在另一个结构里

typedef struct 
{
  int a;
}A;

typedef struct
{
 int b;
}B;

typedef struct 
{ 
 A dummy1;
 B dummy2;
} C;
我想声明从C中提取A的第四个结构。 我做了我的记忆,这是唯一的方法吗

非常感谢您的帮助

谢谢
Huzaifa应该能够抓住dummy1的参考

typedef struct { A dummy1; } D;

C var1;
D var2.dummy;
(*var2.dummy) = &var1.dummy1;

可以指定结构。因此:

typedef struct
{
    A blah1;
    B blah2;
    /* Other members here */
} D;

C c;
D d;
...
d.blah1 = c.dummy1;

非常好。

使用指向所需结构的指针:

int main() {
C c;
c.dummy1.a = 10;
c.dummy2.b = 20;

A *a;

a = &c.dummy1;

printf("%d\n", a->a);

return 0;

}

它正在抛出编译错误。”dummy':不是((*var2.dummy)=&var1.dummy1;)的“D”的成员语法错误:缺少“;”(D var2.dummy;)的“.”之前,C中没有引用。
&
是运算符的地址