2017-07-28 10 views
1

トライを作成しようとしていますが、特に指定しない限り、すべてのブール値をfalseと同じにする必要があります。しかし、このメンバの初期化と定義のためのこの形式は、明らかにC++ 11でのみ有効です... c99でこれを行う方法はありますか?c99での構造体の初期化と定義の同時実行

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

ようなもので変数を宣言しない、C99にspecificalyこれを実行する方法はありません。 – AnT

答えて

1

Cでは、型宣言内で初期化することができません。

しかし、デフォルトの初期化では、明示的にリストされていないすべてのメンバーに対して0が与えられます。これは、ケースではfalseと同じです。

だから、初期化せずにnodeを宣言した後、

node X = { 0 }; 
関連する問題