说你有这个..
int fry = 50;
现在 wen 制作一个指针并引用该值,星号可以以两种不同的方式放置:
int* d1 = &fry;
和...
int *d1 = &fry;
我想知道有什么区别,最好在什么情况下使用它们?谢谢!
没有区别。你甚至可以做int*d1
和int * d1
。
在我看来,你应该更喜欢int *d1
:这个选择在避免混淆方面特别有用:
int* d1, d2;
int *d1, d2;
这些语句都声明了一个整数和一个指向整数的指针。第一个版本看起来很误导。
您给出的两个示例没有区别。至于您应该使用哪个,请遵循您正在使用的代码的样式。
但是请注意, * 绑定到变量,而不是它们的类型。因此,
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;
取决于正在使用的样式。