2010-05-22 54 views
2

结构体是否可以包含其他结构体?如何在C++中创建结构的结构体

我想做一个结构,其中包含四个其他结构的数组。这可能吗?代码是什么样的?

+0

您使用哪种语言? – 2010-05-22 18:21:05

+0

由于问题的解决方案是显而易见的 - 只需声明你想要的东西 - 但是这样做有很多缺陷,也许代码示例是有序的。 – Potatoswatter 2010-05-22 18:31:18

+0

这不是一个“写我的代码”网站。告诉我们你自己试图宣布你需要什么,我们将帮助你做到正确。 – AnT 2010-05-22 18:37:28

回答

7

是的,你可以。例如,此结构S2包含四个S1对象的数组:

struct S1 { int a; }; 

struct S2 
{ 
    S1 the_array[4]; 
}; 
+2

声明的struct关键字不是C++所必需的 – 2010-05-22 18:26:37

+0

@Axel:这个问题被标记为[c]'。 **更正:**这个问题被标记为[c]'。我已经将它编辑为C++ ify它;谢谢你的提醒。 – 2010-05-22 18:27:02

4

当然,为什么不呢。

struct foo { 
    struct { 
     int a; 
     char *b; 
    } bar[4]; 
} baz; 

baz.bar[1].a = 5; 
2

是,结构体可以包含其他结构。例如:

struct sample { 
    int i; 
    char c; 
}; 

struct b { 
    struct sample first; 
    struct sample second; 
};