C语言 样式:* 和变量名称之间的空格



我发现了一个 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;  

除了"没有人这样做"之外,我能告诉这个程序的作者什么?

什么都不告诉他。这是一个选择问题。
并阅读这个美丽的答案。

最新更新