C语言中 .和-> 使用

举报
CodeAllen 发表于 2021/10/29 23:15:11 2021/10/29
【摘要】 这两个在结构体虽然常用,但有时候很容易让人用混淆了,程序编译不通过。 1、一般情况下使用“.”,只需要声明一个结构体。这个一般用在结构体变量的使用。 格式是,结构体类型名+结构体名。 然后用结构体名加“.”加域名就可以引用域 了,因为自动分配了结构体的内存。 2、用“->”,则要声明一个结构体的指针,还需要手动开辟...

这两个在结构体虽然常用,但有时候很容易让人用混淆了,程序编译不通过。

1、一般情况下使用“.”,只需要声明一个结构体。这个一般用在结构体变量的使用。

格式是,结构体类型名+结构体名。

然后用结构体名加“.”加域名就可以引用域 了,因为自动分配了结构体的内存。

2、用“->”,则要声明一个结构体的指针,还需要手动开辟一个该结构体的内存空间,

然后把返回的指针给声明的结构体指针,才能用“->”正确引用。

这个用在结构体指针变量。如果内存中只分配了指针的内存,没有分配结构体的内存,

将会导致想要的结构体实际上是不存在。

这时候用“->”引用自然出错了,因为没有结构体,自然没有结构体的域了。

3、此外,(*a).b 等价于 a->b。

4、总结

"."一般情况下读作"的”。

“->”一般读作"指向的结构体的"。

文章来源: allen5g.blog.csdn.net,作者:CodeAllen的博客,版权归原作者所有,如需转载,请联系作者。

原文链接:allen5g.blog.csdn.net/article/details/119853223

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。