2017-07-28 54 views
1

我想創建一個trie,我需要所有的布爾等於false,除非另有規定。然而,這種同時成員初始化和定義的格式只在C++ 11中有效......顯然,有沒有辦法在c99中做到這一點?同時struct成員初始化和定義在c99

typedef struct 
{ 
    bool booleans[28] = { false }; 
    struct node *next[27]; 
}node; 
+0

沒有聲明變量,有沒有辦法specificaly爲此在C99。 – AnT

回答

1

在C中,你不能在類型聲明中初始化。

但是,默認初始化爲所有未明確列出的成員提供0,這與您的案例中的false是一樣的。

所以申報node沒有初始化,然後用類似

node X = { 0 };