在定义一个指针变量时,到底是写成int* p;还是写成int *p;,也就是星号是靠近int 还是靠近 p?
- 在定义单个变量时,以下三种写法都是一样的,编译器都能理解你在定义一个指针变量,具体编写过程还是看个人风格:
int* p; int * p; int *p;
- int* p;表示定义一个类型p为int型指针。int *p;表示p是一个指针,指向类型为int(如果指向其他类型比如float就会报错),简单理解,表示指针p是int类型
- int* a,b; 等价于 int *a;int b;;而不等价于 int *a; int *b;。
所以,为了避免出现这样的歧义,很多书上都进行了规范处理,统一将星号靠近变量名,也就是写成:int *p;
参考资料:
int* p;和int *p;应怎样理解(c++语言中星号的位置)?
int *p=a和int *p=&a的区别



