Visual C/C++ 6 を想定すると、次のような 22399 要素の複雑なデータ構造があります。
{
{ "(SAME", "AS", "U+4E18)", "HILLOCK", "OR", "MOUND"},
{ "TO", "LICK;", {1, 1, 0}, "TASTE,", "A", "MAT,", "BAMBOO", "BARK"},
{ "(J)", "NON-STANDARD", "FORM", "OF", "U+559C", ",", {1, 1, 0}, "LIKE,", "LOVE,", "ENJOY;", {1, 1, 4}, "JOYFUL", "THING"},
{ "(AN", "ANCIENT", {1, 2, 2}, {1, 2, 3}, "U+4E94)", "FIVE"},
...
}
これを宣言する最良の方法は何ですか? 私は次のようなことを試しました
char * abbrevs3[22399][] = { ... };
と
char * abbrevs3[22399][][] = { ... };
しかし、コンパイルは慢性的な何かを鳴らします。
EDIT : データは、特定のユニハン キャラクターの説明のデータベースです。データを圧縮するさまざまな方法を検討してきました。現状では、22399 個のエントリがあり、それぞれにさまざまな数の文字列、または { 略語マーカー、最後に表示された行、最後に表示されたその行の要素 } のトリプレットが含まれる場合があります。
ところで、Greg の話によると、一部の要素が空の文字列であっても、各行に同じ数の要素を含める必要があるかもしれません。そうですか?
編集#2:そして、トリプレットの数値の一部がcharの制限をはるかに超えていることがわかりました。