码迷,mamicode.com
首页 > 编程语言 > 详细

c语言中->和.的区别

时间:2020-03-18 20:18:29      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:color   间接   node   区别   右箭头   需要   手动   加域   选择   

1、指向不同

一般情况下用“.”,只需要声明一个结构体。格式是,结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域 了。因为自动分配了结构体的内存。如同 int a;一样。

而用“->”,则要声明一个结构体的指针,还要手动开辟一个该结构体的内存,然后把返回的指针给声明的结构体指针,才能用“->”正确引用。
否则内存中只分配了指针的内存,没有分配结构体的内存,导致想要的结构体实际上是不存在。这时候用“->”引用自然出错了,因为没有结构体,自然没有结构体的域了。



2、读法不同

(*a).b 等价于 a->b。"."一般情况下读作"的”。
->”一般读作"指向的结构体的"3、作用的不同
在“结构”一单元中出现的->运算符成为“右箭头选择”,在使用中可以用new_node->value = 10;来代替(*new_code).value = 10;

也就是说在结构中,运算符->是运算符*和运算符.的结合,在上述语句中,他先对new_node间接寻址以定位所指向的结构,然后再选择结构的成员value。

 

c语言中->和.的区别

标签:color   间接   node   区别   右箭头   需要   手动   加域   选择   

原文地址:https://www.cnblogs.com/hongdoudou/p/12519688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!