1
23
只要只声明一个指针,就不重要了。它通常和第二个示例(在我通常读/写的代码中)一样被写,但是对于编译器来说,它是相同的。 如果声明多个指针,则可能会出现问题。例如,这不是声明两个指针,而是声明一个指针和一个类型为的var。
你需要做的是:
我喜欢总是使用*by the var。 |
2
6
指针是类型,我认为将类型信息分组最有意义:
如果在同一行上定义了多个变量,这可能会导致混淆:
解决方法是,不要在同一行中声明多个变量。一些东西 Code Complete 不管怎样,拥护者们。 |
3
4
两者都有效。我认为1在 一般的 ,但在C中有误导性,可能导致错误,例如:
所以我想说2在C语言中更惯用,因此建议使用,尤其是如果您不是唯一一个编写代码的程序员(当然,除非您都同意某种风格)。 |
4
3
正如其他人所指出的,两者都很好地工作,而错误的一个事实上具有句法经济的优势。 在我看来,声明包括 类型 然后是 变量 .
所以,如果你拿走 变量 ,剩下的是 类型 . 哪个是 int 和 INT* 上面。编译器处理 INT* 作为内部类型(即 指向int的指针 ) 不幸的是,C不支持这种无缝语法。当声明同一类型的多个变量时,您应该能够这样做:
不能使用指针类型:
声明类型为的II1 INT* 其他类型的 int . 为了避免这种情况,我习惯于每行只声明一个变量。 |
5
2
我听说过,从技术上讲,*是变量的修饰符, 这可以通过在多变量中多次使用*来证明。 声明 例如,int*p、*q、*r; 但是我喜欢把它当作基类型的修饰符,因为 是原型中出现的内容。 例如void func(int*); PMCD。 我知道我没有帮你解决问题。) |
6
1
第二种模式正确。对于新手程序员来说,另一种模式并不那么清晰。 通常不鼓励使用int*形式的变量 |
7
1
声明语义遵循表达式语义(特别是运算符优先级),我发现使用第二种样式更容易阅读更复杂的声明。 你可以想到
声明表达式的类型
无论你选择什么样的惯例,都要保持一致。 |
8
0
这是编码员的偏好。 对于我来说,我声明的指针是:
其中:
当然,使用其他方法是有效的。 |
9
0
没有一个“最合适的地方”。 通常它是其余代码使用的地方。 如果您从一开始就编写自己的代码,并且可以选择自己的约定:选择自己的约定并坚持下去。
如果你选择的不是
不要紧,但我通常用
|
Community wiki · C中有哪些耗时的操作? 1 年前 |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |