少し混乱します。本番環境では、すでに定義されているマクロはほとんどありません。これらのマクロはある値を返すために使われました。今我々の要件は、これらのマクロの価値に基づいていくつかのルックアップを準備することです。 char *配列を作成し、適切なインデックスに文字列を定義しました。しかし私のマネージャーは、これらのマクロを列挙型に変換してからルックアップするように頼んだ。列挙型を使ってこれを実装する方法は?それの利点は何ですか?これらのマクロは、多くの異なるファイルで使用されています。列挙型を定義した場合、何かを変更する必要がありますか? ありがとうございます!C言語のマクロをenum型に変換する
サンプルコード:
#define macro_1 1
#define macro_2 2
#define macro_3 3
#define macro_4 4
を検索:この使用して列挙型を実装する方法を
const char* lookup[] = {.....};
一つの直接の利点は、アレイを使用して順次増加マクロ値(すなわち、0、1、2、3、4、...)が必要ということです。列挙型を使用する場合、値は任意の整数にすることができます。 –
@Rushy Panchal:すぐに助けてくれてありがとう。私に例を教えてもらえますか?列挙型を使用してルックアップを行うことは可能ですか?列挙型で文字列を定義するにはどうすればよいですか? – Rock26