首页 > 其他 > 详细

[C]成员运算符"."和间接成员运算符"->"浅析

时间:2017-09-03 12:53:50      阅读:294      评论:0      收藏:0      [点我收藏+]

成员运算符: .

成员运算符一般和结构或者联合名一起使用,指定结构或者联合中的某个成员。

举个栗子:

如果Ronz是一个结构的名称,linux是这个结构模板指定的一个成员名。

1 struct{                 //匿名结构
2   int linux;
3   char windows[MAX];    //假设MAX已被定义 #define MAX 10
4 }Ronz;

如果我想要标识结构模板中的成员linux。我就可以这样用:Ronz.linux。

如果我觉得它可怜,想给它一个值的话:Ronz.linux=7。

可是我觉得标识linux还是不够爽,还有windows在等着我呢,所以我还可以这么来:Ronz.windows。

总之,需要用到哪个就可以通过成员运算符"."标识哪个。

 

间接成员运算符->

间接成员运算符和指向结构或者联合的指针一起使用,标识结构或者联合中的某个成员。

再次举个栗子:

如果ptd是指向结构的指针,linux是这个结构模板指定的一个成员,Ronz依然死皮赖脸地做结构的名称。

1  struct {                //匿名结构
2    int linux;
3    char windows[MAX];  //假设MAX已经被定义 #define MAX 10
4  }Ronz,*ptd;
5  ptd=&Ronz;

这一次我又想标识linux,但是总请Ronz老人家出山也不好意思,于是还可以这么来:ptd->linux。

好歹给人家一个值吧:ptd->linux=7(当然可以直接赋值)。

ptd->linux  Ronz.linux  (*ptd).linux  //三个等效
小知识:"."优先级高于"*"

 

[C]成员运算符"."和间接成员运算符"->"浅析

原文:http://www.cnblogs.com/ronz/p/7469158.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!