前几天我被告知我不应该在 C 中以某种方式使用指针箭头。我所做的是这样的:
struct info {
int x;
char *data;
}
int main() {
struct info *information;
information -> x = 0; /*Notice the spacing here between information and -> x*/
information -> data = "";
}
我经常看到的
struct info *information;
information->x = 0;
我只是想问一下,这只是一个常规的编码标准吗?
我只是觉得 ->
比 p->stuff
干净多了。
最佳答案
从句法的角度来看这无关紧要,它是微不足道的空格。
我会说(有趣的是)没有空格的样式更为常见。我觉得它很好,因为它以某种方式反射(reflect)了结构包容的“紧密性”。当然,我写的几乎所有其他二元运算符 都带有 空格,即
a->b = 1 + 2;
永远不会
a -> b = 1+2;
或
a->b = 1+2;
说到底,这只是个人喜好。当然,在许多专业环境中,“项目/公司风格指南规定这是如何完成的,在这里”。
此外,当使用 .
运算符直接处理结构时,我使用相同的方式。总是:
a.b = 1 + 2;
永远不会:
a . b = 1+2;
我认为前一种格式对我有用,因为正如我在上面所说的那样,运算符两侧的两件事是同一件事的一部分,“a.b
”是一个术语,而不是二。使用 +
,它的两个操作数是独立的,因此间距对我来说更有意义。
关于c - C中箭头运算符之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16012721/