【问题标题】:Differences between pointer declaration [duplicate]指针声明之间的差异[重复]
【发布时间】:2013-11-30 22:03:05
【问题描述】:

这两种声明有什么不同吗?

int* a;
int *a;

或者这两个声明是一样的(指向整数的指针)?

【问题讨论】:

  • 那么,你的初学者 C 书是怎么说的?
  • 就 C 编译器而言,它们是完全相同的声明。使用哪种变体取决于风格和个人喜好。
  • 我并不是一个 C 初学者。我之所以这么问,是因为当我使用带有结构的第一种样式时,gcc 给了我一个警告。
  • @Guilherme。最肯定的问题出在其他地方。或者你遇到了我的回答中提到的问题。

标签: c pointers declaration


【解决方案1】:

它们完全相同,但这是我多年前第一次学习 C 时遇到的一个小问题。 * 绑定到变量,而不是类型。这意味着

int* a, b;

a 声明为指向int 的指针,将b 声明为int。要将两者都声明为指针,应该这样做。

int *a, *b;

这就是为什么我更喜欢将* 放在名称旁边的原因。

【讨论】:

  • @JoeDF 奇怪的是,这些是我完全相同的符号约定!谢谢!
  • 好的,谢谢。我这样问是因为当我使用“struct foo* 指针”声明时 gcc 给了我一个警告。
猜你喜欢
  • 2013-05-28
  • 2017-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
  • 1970-01-01
  • 2015-05-25
  • 2020-06-15
相关资源
最近更新 更多