首页 > 代码库 > (C语言)结构体成员的引用->(箭头)和 .(点)
(C语言)结构体成员的引用->(箭头)和 .(点)
关于结构体成员的引用有这样的规律:
箭头(->):左边必须为指针;
点号(.):左边必须为实体。
那么如果一个结构体指针引用一个成员,这个成员又是一个结构体(并且是一个实体),那么如果要引用这个成员的成员要怎么办呢?
经过实验发现,依然遵循上面的规则即:箭头左边必须是指针,实体一定要用点号引用。for example C->student.age
eg.
一开始都用箭头即c->s1->age
#include "stdio.h"int main(){ struct student{ int age; int class_; }; struct class2{ struct student s1; }; struct class2 *c; struct class2 cc={ .s1={ .age=9, .class_=2 } }; c=&cc; printf("%d",c->s1->age); return 0;}
出现错误如下:
如果把代码改为c->s1.age,代码如下:
#include "stdio.h"int main(){ struct student{ int age; int class_; }; struct class2{ struct student s1; }; struct class2 *c; struct class2 cc={ .s1={ .age=9, .class_=2 } }; c=&cc; printf("%d",c->s1.age); return 0;}
则编译通过得到运行结果:
(C语言)结构体成员的引用->(箭头)和 .(点)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。