说你有这个..
int fry = 50;
现在做一个指针并引用该值,星号可以用两种不同的方式放置:
int* d1 = &fry;
和...
int *d1 = &fry;
我想知道差异是什么,最好使用哪种情况?谢谢!
答案 0 :(得分:4)
没有区别。您甚至可以int*d1
和int * d1
。
在我看来,你应该更喜欢int *d1
:这个选择在避免混淆方面具有特殊用途:
int* d1, d2;
int *d1, d2;
这些语句都声明一个整数和一个指向整数的指针。第一个版本看起来很有误导性。
答案 1 :(得分:2)
您给出的两个例子没有区别。至于你应该使用哪个,请遵循你正在使用的代码的样式。
但请注意,*绑定到变量,而不是它们的类型。因此,
int *this_is_a_pointer, this_is_just_an_int;
和
int* this_is_a_pointer, this_is_just_an_int;
是一样的。如果您需要这样的东西,我实际上会编写以下任何一种以避免混淆
int* this_is_a_pointer;
int this_is_just_an_int;
或
int *this_is_a_pointer;
int this_is_just_an_int;
取决于正在使用的样式。