我发现了一个 C 程序,作者在变量名之前在类型声明中添加了一个空格:
int * foo;
GNU 缩进总是删除这个空格,无论样式如何(GNU,K&R,Linux)。我在任何地方都没有明确提到这个公约。除了"没有人这样做"之外,我能告诉这个程序的作者什么?
风格T *p;
是有道理的 - 这就是语法的工作方式。
样式T* p;
是有道理的 - 它强调p
具有指针类型。
除了在某人看来可能很漂亮之外,没有真正的理由T * p;
。 话虽如此,风格只有在导致混乱时才是一个问题。 如果他只是每行声明一个变量,那么我认为这不是问题。 如果他写的东西是这样的
int * foo, bar;
那么你可能想礼貌地建议他使用惯例
int *foo, bar;
明确只有foo
被声明为指针。
K&R 风格声明它应该是
int *foo;
除了"没有人这样做"之外,我能告诉这个程序的作者什么?
什么都不告诉他。这是一个选择问题。
并阅读这个美丽的答案。