C++中点运算符和箭头运算符的区别

C++中点运算符和箭头运算符的区别

PS:需要快速看结论的,直接看文末总结归纳,需要理解的可以从文首开始看。

划重点,先说本质:无论是点运算符(.)还是箭头运算符(->),本质上都是寻址,寻找指定的结构体成员变量的地址,具体在程序中体现为:

p->member执行为p+offset_member(目标的内存地址)
s.member变成访问&s+offset_member(目标的内存地址)

因此实际上功能完全一致,看起来 p->member更加直接一些,只不过s.member多了一个先去s去地址的操作(&s).

因此,点运算符(.)应用于结构体变量,箭头运算符(->)应用于结构体指针.

例:
结构名.成员

str.name

指向结构的指针->成员

p->name

总结归纳:

点运算符(.)用于结构体变量访问成员。
箭头运算符(->)用于结构体指针变量访问成员。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值