同じデフォルト値で構造体の配列を初期化する必要があります。これは非常に大きな配列であるため、初期化子で各要素を手動で設定することはできません。次のコードはこれを行うための正しくて健全な方法ですか、それとも初期化関数と for ループにフォールバックする必要がありますか?
#define SIZE_OF_S1_ARR 10000 //just some arbitrary size for an example
typedef struct { char* id, char* description} S1;
/*
* Array of structs, with each element having an id and a description
* which is an empty c-string
/*/
S1 s1_arr[SIZE_OF_S1_ARR] = {{ "", "" }};
この配列は、単一の文字として ID のみを含む char 配列として既に存在していたことを付け加えておきます。より便利な構造体に置き換えています。