」有什么区别?
c语言中->和.的区别为:性质不同、指向不同、访问不同。
一、性质不同
1、->是指向结构体成员运算符。
2、.是断点符号,不属于运算符。
二、指向不同
1、->所指向的是结构体或对象的首地址。
2、.所指向的是结构体或对象。
3、一般情况下用“.”,只需要声明一个结构体。格式是,结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域 了。因为自动分配了结构体的内存。如同 int a;一样。
而用“->”,则要声明一个结构体的指针,还要手动开辟一个该结构体的内存,然后把返回的指针给声明的结构体指针,才能用“->”正确引用。
否则内存中只分配了指针的内存,没有分配结构体的内存,导致想要的结构体实际上是不存在。这时候用“->”引用自然出错了,因为没有结构体,自然没有结构体的域了。
三、访问不同
1、->的用处是使用一个指向以便访问结构体或对象其内成员。
2、.的用处是使用一个指向以便访问结构体或对象。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有