两种方式都是对的,编译器都支持。一般编程规范都推荐*号挨着指针变量,为的是避免在一行定义多个指针变量时不小心出错,例如: int *p,q; // 这样读起来容易识别q是整形变量不是指针 int* p,q; // 这样比较容易误解p和q都是指针
加空格只是为了代码便于人阅读, 编译器不需空格。
这两种情况对于编译器来将是一样的,只是让阅读你代码的人看起来更爽一些。比如 int *p, q; 和 int* p, q; 这两种定义都是p为int类型指针, q为int类型,阅读你代码的人可能会把第二种情况的p和q误解释为int 类型指针。
关于指针的定义格式
原文:https://www.cnblogs.com/chinasoft/p/15222356.html