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

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

于 2013-02-12T17:55:11.937 回答
0

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

于 2013-02-12T17:56:04.513 回答
0

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

于 2013-02-12T17:56:21.070 回答
0

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

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

于 2013-02-12T18:02:47.880 回答