2010-05-22 51 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; 
};