答案 0 :(得分:1)
如链接问题中所述,它们都是相同的(只需确保使用一个一致 - 尤其是在使用现有代码库时)。
唯一的两个区别是:
第一种格式是K& R使用的格式。在谈论样式C代码时,很多人都默认使用K& R.
int* p, x;
具有误导性,因为x是int而不是int *,所以在使用第3种语法时要注意这个缺陷。
答案 1 :(得分:1)
这三个声明是等效的。
int *ptr; // Kernighan & Ritchie style
int* ptr; // Stroustrup style
答案 2 :(得分:0)
是。这主要是一个偏好问题,但根据我的经验,大多数人更喜欢第一个或第三个。
就我个人而言,我更喜欢第一种,因为像:
int *ptr1, *ptr1;
,而
int* ptr1, ptr2; /* ptr2 is NOT a pointer, needs another * before it to be one */
编辑:
要明确的是,一个人并不比另一个人更正确,你应该选择哪一个对你最有意义。最重要的是,在整个代码中使用一个可能是最重要的。
答案 3 :(得分:0)