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

本文讨论了C语言中定义指针时*号的不同放置方式及其潜在含义。重点介绍了*号靠近类型与靠近变量名两种写法的区别,并通过实例说明了各自的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

2007-05-11 10:22 lulapub  |  分类:其他编程语言  |  浏览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分行定义可以避免误解,但并不是人人都愿意这样做。
提问者评价
谢谢指导, 我终于揭开了多年心中的疑团,一直觉得这问题有点傻瓜,也不敢问人!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值