我应该避免使用同名的局部变量吗?

时间:2013-02-12 17:54:25

标签: c

相关 - naming convention of temp local variables

该问题的答案是局部变量应该有简洁的名称。如果我的局部变量(在不同的函数中)具有相同的名称,那会是一个问题吗? E.g。

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;
}

5 个答案:

答案 0 :(得分:4)

在不同函数中声明的同名变量没有任何问题。它们的范围是功能本身。如果这是一个问题,它将使编程更多的PITA。我们很快就会用尽循环变量名。

答案 1 :(得分:0)

不,您的counter变量的范围仅限于声明它们的块。请注意,对于不同函数中的循环变量,使用例如相同名称i是很常见的。

答案 2 :(得分:0)

没有。从概念上讲,函数包含不同的任务/范围。可能需要两个类似命名的局部变量,因为其功能可能相同。这不是技术问题,也不是概念问题。没关系。

答案 3 :(得分:0)

您可以对局部变量使用相同的名称,因为它们的范围仅限于块..

答案 4 :(得分:0)

正如其他人所说,这不是问题。

使用对代码执行操作有意义的名称是确保其他人理解您的代码的最佳方法。如果你有一堆做类似事情的函数(例如对通过一些常用函数提取的相同数据进行操作),那么在所有函数中以相同的方式命名该变量绝对是个好主意。这样,知道其中一个函数如何工作的人将能够理解下一个函数中同样的事情发生了什么,等等。