2012-02-13 18 views
0

Cで複数の名前を使用して変数を参照することはできますか?私はこれがポインタを介して行うことができますが、ポインタを使用せずに可能であることを知っています。変数と同様に 'typedef'を使用するのと同じように、変数には同様の名前が付けられます。Cで複数の名前を使用する変数を参照

名前はFILTER_PROC_LOAD_INTERNSITYという定数があります。

答えて

3

マクロを使用したい場合がありますか?

#define var1 FILTER_PROC_LOAD_INTERNSITY 

ですが、なぜですか? 1「物」1つ責任があります。あなたはあなたのコードの読者を困惑させたくありません。名前の名前を変更する必要がある場合は、最初に変数の名前が間違っているように見えます。

エディス:

読みやすさと私の問題は、この例で表現されているもの

char *very_ugly_variable_name; 
#define beautifulVariableName very_ugly_variable_name 

void unmaintainable_old_function() { 
    print(very_ugly_variable_name); 
} 

void myOtherNewFunction() { 
    print(beautifulVariableName); 
} 

あなたは、その瞬間にそのvery_ugly_variable_nameを完全に理解していないとbeautifulVariableNameは(名前スコープで、メモリに)まったく同じです。

+0

ありがとうございます。私はマクロについて忘れてしまった。コードを読みやすくするためにコメントを書きます。私はそれを複数回使用しなければならないので、短い名前が便利です。 'var1'は説明のためのものです。 – Random

+0

なぜ有効なカウンタの質問ですか?var1の名前を読み取り可能なものに変更してコードを読みやすくしてください。 – AoeAoe

+1

簡略化のために短い名前を使用するのは賢明ではありません。コマンドプロンプトに繰り返し入力するのではなく、ソースコードに数回書いているだけで、そのソースコードが繰り返し読み込まれる可能性があります。 –

1

C言語は、(別名にあなたの変数)の参照を持っていないようですが、あなたはそのためにポインタを使用することができます:yourtype* var1 = &FILTER_PROC_LOAD_INTERNSITYしてから、一定の値を取得するために*var1を使用しています。しかし、これはよい考えのようには見えません。プログラムの象徴的な名前は読みやすく、理解しやすくなります。

関連する問題