1

関連 -一時ローカル変数の命名規則

その質問に対する答えは、ローカル変数には簡潔な名前を付ける必要があると述べています。私のローカル変数 (異なる関数内) が同一の名前を持っている場合、問題になるでしょうか? 例えば

int foo(void){
 int counter;
 do stuff with counter;
}

int bar(void){
 int counter;
 do stuff with counter;
}

int main(void){

 foo();
 bar();
 foo();

 return 0;
}
4

5 に答える 5

4

異なる関数で宣言された同じ名前の変数に問題はありません。それらのスコープは関数自体です。それが問題である場合、プログラミングはより PITA になります。ループ変数名がすぐに足りなくなります。

于 2013-02-12T17:55:14.077 に答える
0

他の人が言っているように、それは問題ではありません。

コードの機能に意味のある名前を使用することは、他の人があなたのコードを理解できるようにするための最良の方法です。同様のことを行う関数がたくさんある場合(たとえば、いくつかの共通の関数を介してフェッチされた同じデータを操作する場合)、すべての関数でその変数に同じ名前を付けることをお勧めします。そうすれば、ある関数がどのように機能するかを知っている人は、次の関数などで同じことで何が起こっているのかを理解することができます。

于 2013-02-12T18:02:47.880 に答える
0

スコープがブロックに限定されているため、ローカル変数に同じ名前を使用できます。

于 2013-02-12T17:56:21.070 に答える
0

いいえ、変数のスコープは、counter変数が宣言されたブロックに限定されます。たとえば、i異なる関数のループ変数に同じ名前を使用することは非常に一般的であることに注意してください。

于 2013-02-12T17:55:11.937 に答える
0

いいえ。概念的には、関数はさまざまなタスク/スコープを囲んでいます。機能が同じである可能性があるため、2 つの類似した名前のローカル変数が必要になる場合があります。技術的な問題でも概念的な問題でもありません。大丈夫だよ。

于 2013-02-12T17:56:04.513 に答える