0

说你有这个..

 int fry = 50;

现在 wen 制作一个指针并引用该值,星号可以以两种不同的方式放置:

 int* d1 = &fry;

和...

 int *d1 = &fry;

我想知道有什么区别,最好在什么情况下使用它们?谢谢!

4

2 回答 2

4

没有区别。你甚至可以做int*d1int * d1

在我看来,你应该更喜欢int *d1:这个选择在避免混淆方面特别有用:

int* d1, d2;
int *d1, d2;

这些语句都声明了一个整数和一个指向整数的指针。第一个版本看起来很误导。

于 2013-11-11T01:19:33.893 回答
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;

取决于正在使用的样式。

于 2013-11-11T01:18:27.137 回答