を有することの利点/配慮は、私は、このようなCコードを横切って走っ何:無名配列
static char *mem_types[M_CNT] = {
[M_ABC] = "abc",
[M_DEF] = "DEF",
[M_XYZ] = "XYZ",
};
M_CNTマクロ定数です。 M_ABC、M_DEF、M_XYZはすべてenumです。
このような宣言は、私には奇妙に見えるか、むしろ、このような文字列配列を宣言することの利点が何であるか疑問に思っています。私は単にそれを置くだろう
static char *mem_types[M_CNT] = {
"abc",
"DEF",
"XYZ",
};
私が考えることができる唯一のことは、宣言は正確に各文字列のサイズを制限することができます。
その他の考慮事項はありますか?
"宣言は各文字列のサイズを正確に制限できます" - それはどういう意味ですか? –
@my_question:これらの括弧で囲まれたものは、各文字列の長さではなく、メイン配列のインデックスです。 C++では使用できません。 –
C++タグが削除されました。これはC99ですが有効ではありません。C++ –