在调用结构中的变量时,->
和.
有什么区别?我已经看到它们在各种情况下使用,但无法识别它们之间的差异。调用结构变量的区别
-2
A
回答
2
->
意味着你有一个指向一块含有结构存储器的变量。要访问其成员,您必须取消引用指针,然后将偏移量添加到成员。->
为你做到了。.
表示您的变量是的结构,您只需将偏移量添加到成员。
随着用户艾略特乙组分了,如果你有一个指针s
一个struct,然后访问成员elem
可以通过两种方式来完成:s->elem
或(*s).elem
。
使用(*s)
您有一个表达式“is”是结构,现在您使用点运算符来访问elem
。
1
s->elem
等于(*s).elem
1
区别在于结构定义的实例。 ' - >'和'。'操作符总是关于左操作数。
如果左操作数是一个指针,那么你使用' - >',否则你使用'。'。
例如。
struct Foo bar1;
struct Foo* bar2 = malloc(sizeof(struct Foo));
bar1.variable = "text";
bar2->variable = "text";
1
x->y
(->
是指针构件操作者)等效于(*x).y
。由于运算符的优先顺序,您不能编写*x.y
,因为它将被评估为*(x.y)
。
前者更容易打字,更清晰。当x
是指向包含成员y
的结构的指针时使用。
相关问题
- 1. 使用结构指针和结构变量有什么区别?
- 2. 用PHP调用WCF - 变量结构
- 3. 处理变量类别层次结构
- 4. **变量和变量[] []之间的区别?
- 5. 结构变量
- 6. 使用消息属性变量和设置变量变量设置的调用变量之间的区别?
- 7. 结构和变量
- 8. 结构和类之间的区别?
- 9. 控制结构php和控制结构之间的区别javascript
- 10. 从主结构获取变量结构
- 11. 结构变量和结构成员
- 12. C结构 - 无法将结构变量分配给其他结构变量
- 13. Cprogramming - Main不识别被调用函数的变量结果。
- 14. 区别:%% a和%variable%变量之间的区别是什么?
- 15. 使用变量结构的数据
- 16. 段错误 - 改变结构变量(另一种结构的内)
- 17. 体系结构特定结构的通用变量
- 18. 解引用指向结构变量的结构指针
- 19. 静态结构和普通结构有什么区别?
- 20. CvCapture结构和VideoCapture结构有什么区别?
- 21. 结构和静态结构有什么区别?
- 22. Express文件结构和Yeoman文件结构有什么区别?
- 23. bash变量之间的区别
- 24. Ruby - 变量和@variable之间的区别
- 25. 变量的=和=>有什么区别?
- 26. 声明变量之间的区别
- 27. Cocoa类中变量声明的区别
- 28. 声明变量之间的区别
- 29. 两个SYSTEMTIME变量之间的区别
- 30. array.push()变量结构不同?
当你有一个*指针*结构时使用一个。另一个是当你有一个*实例*的结构。请[找一本好书阅读它](http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list)。 –