在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中没有引用。
&
是运算符的地址