Allen.Yao的专栏

Android linux 学习

定义指针类型时*号位置与功能的关系

定义指针类型时*号位置与功能的关系

2007-05-11 10:22lulapub | 分类:其他编程语言 | 浏览1776次
常常看到这样的句子:int* a;和int *a; 请问这*号紧靠在类型后面和紧靠变量前面,在含义上有什么区别吗? 在使用变量时有什么区别吗?
举报| 2007-05-11 10:26提问者采纳
没有区别,但有人建议写成紧靠变量,
比如你想声明两个指针a,b,如果紧靠类型,容易出现错误
int* a,b

以下文字摘自<高质量C++编程指南>:

修饰符 * 和 & 应该靠近数据类型还是该靠近变量名,是个有争议的活题。

若将修饰符 * 靠近数据类型,例如:int* x; 从语义上讲此写法比较直观,即x是int 类型的指针。

上述写法的弊端是容易引起误解,例如:int* x, y; 此处y容易被误解为指针变量。虽然将x和y分行定义可以避免误解,但并不是人人都愿意这样做。
提问者评价
谢谢指导, 我终于揭开了多年心中的疑团,一直觉得这问题有点傻瓜,也不敢问人!
阅读更多
文章标签: linux c语言 位置
上一篇结构体初始化
下一篇利用typedef定义函数指针(转载自ITeye)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭