首页 >后端开发 >C++ >C/C 指针声明:`char* p;` 与 `char *p;` – 有什么区别?

C/C 指针声明:`char* p;` 与 `char *p;` – 有什么区别?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-25 21:53:22240浏览

C/C   Pointer Declaration: `char* p;` vs. `char *p;` – What's the Difference?

在 C/C 中声明指针变量:语法说明

在 C 和 C 中的指针领域,存在细微的语法变化这引发了一些争论:星号 (*) 在指针声明中的位置。一些程序员选择符号 (a):

而其他程序员则喜欢 (b):

这两种不同符号背后的基本原理是什么?

C 语言的创建者 Bjarne Stroustrup 阐明了这个问题。他解释说,选择并不取决于正确性,而是取决于风格偏好和编程重点。

在 C 中,表达式优先于声明,而声明通常被认为不太重要。然而,C 非常强调类型。

C 编程风格的拥护者喜欢符号 (a),认为“*p”代表指针的取消引用值,与 C 的语法结构保持一致

同时,C 编程风格的支持者更喜欢符号 (b),强调指针变量本身的类型。符号(b)中“p”的类型被明确标识为“int*”,突出了它作为整数指针的作用。

从可读性的角度来看,符号(b)显得更加一致,尤其是在一行中声明多个指针时。将星号与变量放在一起,如“char c,d”,与“c”和“d”都是指向字符的指针的直觉一致。

最终,决定符号(a)和(b)之间的选择是个人喜好的问题。然而,鉴于 C 语言的日益流行及其对类型的重视,通常建议使用符号 (b) 来增强代码的清晰度和可读性。

以上是C/C 指针声明:`char* p;` 与 `char *p;` – 有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn