为什么结构体使用内部元素时使用“-”而不是“.”

考虑一个表达式,*p.f表示什么意思?第一印象通常会认为应该是(*p).f,表示指针p所指向的字段f。但实际上"."的优先级是高于"*"的,因此*p.f实际表达的意思是"*(p.f)",表示对p取f偏移,作为指针,然后进行解除引用操作。为了避免这类错误,结构体中引入了"->"符合,用于引用结构体中的元素。"*p->f"比"*p.f"是不是清晰很多呢?

取自《C专家编程》,以上内容仅是对其38页的表格进行了分析重新阐述。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部