C/C++:我应该把星号放在什么地方?

最初使用 C 语言或者 C++ 语言编制程序的人,如果比较注意自己的编码风格的话,往往会被一个问题小小地困扰一下:应该把星号放在什么地方?是应该靠近类型的一边,还是靠近变量的一边?

其实答案很简单,应该靠近它起重点作用的一边。

例如,在定义一个变量时,我们应该写成 int* p; 而不是 int *p;,原因在于此语句的主要意图为定义一个变量,变量的类型是指向整数的指针,星号的主要意义在于修饰 int,与之构成为一个完整的类型说明符号。这种情况同样适用于函数参数的表达。

而当我们使用星号来引用指针所指向的内容时,则应该使星号靠近变量一侧,如 *p = 0;,原因也很简单,此语句要向一个目标赋值,p 自己并不能独立承担这一角色,只有星号与之紧密结合才足够。

当然,作为乘法的运算符号,星号最好乖乖的呆在两个变量的中间,而在其左右各放置一个空格以保持和变量的距离则会使代码看起来更加美观。

发表评论

电子邮件地址不会被公开。 必填项已用*标注