2012-08-31 6 views
8

Cで変数を宣言することは可能ですか?その名前は実行時にユーザによって与えられますか?はいの場合は、どうですか?Cで変数を宣言することは可能ですか?その名前は実行時にユーザによって与えられますか?

+3

いいえ、変数を定義したらどうしますか? – perreal

+0

私を信頼してください。これは恐ろしい考えです。ある種のコレクションを使用したいと思うかもしれません。おそらく、キーを使って値を検索することができます(つまり、テーブルがあるか、それと似ています)。 –

+0

@downvoter:ケアを説明しますか? – Quixotic

答えて

15

いいえ、これは不可能です:変数名は、コンパイルステップで生き残ることができず、コンパイルされたバイナリコードに "焼き付けられた"アドレスとオフセットになります。

しかし、-Dまたはそれに相当するCコンパイラのオプションを使用して、コンパイル時に開発者から与えられた名前を宣言することは可能です。

+4

非常に明確な説明。 –

2

dasblinkenlightが正しく回答したため、いいえ。

実装の目標を達成するには、実行時に独自の文字列と関連する値の辞書を作成して維持することが必要です。

関連する問題