指针中(->)和(.)的区别

  结构体用点( . ),结构体指针用箭头( -> )。
  也就是说点的左边必须为实体,箭头左边必须为指针。

为啥要这样用

  这两个的实际功能相同,那为什么要用两种符号呢?我们不能也用点( . )来操作结构体指针呢?
  这就要了解一个实体变量和指针的区别了。我们假设有一个结构体用 s s s 表示,一个指向结构体的指针 p p p,这个结构体还有一个成员叫做 n u m b e r number number
  这里 s s s 就是实体,里边真正储存着数据;而 p p p 是一个指针,里边没有存放值而是一段地址。着也就意味着两种不同的结构自然不可能用同一种操作符了。
  其实我们也可以使用点来使用结构体指针进行访问。但是需要写成 (*p).number。这样显得有些繁琐。至此有一种新的符号箭头(据说这两种符号在C语言的历史上是同时出现的)。我们可以直接使用箭头和结构体指针进行访问 p->number。
  当然我们也可以将箭头作为一种快捷方式,也就是语法糖。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值