猿问

宣告指针; 类型和名称之间的空格左侧或右侧的星号?

宣告指针; 类型和名称之间的空格左侧或右侧的星号?

我已经在很多代码中看到了这个的混合版本。(顺便说一下,这适用于C和C ++。)人们似乎用两种方式之一来声明指针,我不知道哪一个是正确的,如果它甚至是重要的。

第一种方法是将星号放在类型名称旁边,如下所示:

someType* somePtr;

第二种方法是将星号放在变量名称旁边,如下所示:

someType *somePtr;

这已经让我疯了一段时间了。是否有任何标准方法来声明指针?甚至指针是如何声明的?我之前使用过两个声明,并且我知道编译器并不关心它是哪种方式。然而,事实上,我已经看到以两种不同的方式宣告指针,这让我相信它背后有一个原因。我很好奇,如果任何一种方法在某些方面更具可读性或逻辑性,那我就错过了。


呼啦一阵风
浏览 610回答 3
3回答

aluckdog

没关系。现在有人会把这个问题作为一个骗局来解决,int* a如果你在同一个声明中声明多个变量int *a,而另一个人会更好地反映代码的语法结构,那么其他人将展示如何打破方式,而另一个人将展示Stroustrup喜欢int* a这样的。很多意见,但这里没有“正确”的方式。

森林海

没关系,这是个人喜好。有些人喜欢将类型保持在一起:int* p;其他人说它应该在变量旁边,因为以下内容:int *p, x;//declare 1 int pointer and 1 int int *p, *x;//declare 2 int pointers.随着时间的推移,你会忽略这一点并接受两种变化。
随时随地看视频慕课网APP
我要回答