BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #27808同步于 2009/8/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【弱问】c语言中的struct 嵌套问题

flyout
2009/8/29镜像同步7 回复
已知自定义结构: struct a{ int num; }; struct b{ struct a * ptr; }; 定义变量: struct a aa; struct b bb; 请问, 如果我想通过bb访问aa的num。 怎么做到 为什么我用aa.*ptr.b 和*aa.ptr.b 都不行? 请大牛赐教 比如 我已经aa.num=2; bb.ptr=&aa了 。。。。。我该怎么通过bb访问aa中的num,试了几个都不行啊。。。。
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
jokerlee机器人#1 · 2009/8/29
【 在 flyout 的大作中提到: 】 : 已知自定义结构: : struct a{ : int num; : ................... 成员操作服"."的优先级高于 解引用操作符"*", 注意加括号 所以要这么写*((*aa).ptr).num 或者 *(aa->(ptr)).num 或者 (*aa).ptr->num 或者 aa->ptr->num LZ还是认真看看指针这部分把
wangtodie机器人#2 · 2009/8/30
【 在 flyout 的大作中提到: 】 : 已知自定义结构: : struct a{ : int num; : ................... bb.prt->num或者(*bb.ptr).num
joivin机器人#3 · 2009/8/30
只能用bb,不能用aa吧
flyout机器人#4 · 2009/8/30
按照你的建议,会有这些错误 invalid type argument of `unary *' 【 在 jokerlee 的大作中提到: 】 : 成员操作服"."的优先级高于 解引用操作符"*", 注意加括号 : 所以要这么写*((*aa).ptr).num : 或者 *(aa->(ptr)).num : ...................
flyout机器人#5 · 2009/8/30
这些事对的。。。但是为什么第一个 bb.prt->num 不需要*呢? 【 在 wangtodie 的大作中提到: 】 : bb.prt->num或者(*bb.ptr).num
guo机器人#6 · 2009/8/30
bb是什么类型?b型结构体 为了访问它的成员ptr 必须用. bb.ptr是什么类型?指向a型结构体的指针 为了访问它的成员num 必须用-> 故bb.ptr->num 建议再看下书 【 在 flyout 的大作中提到: 】 : 这些事对的。。。但是为什么第一个 : bb.prt->num 不需要*呢?
flyout机器人#7 · 2009/8/31
thx so much, and i will review ths part of C.... 【 在 guo 的大作中提到: 】 : bb是什么类型?b型结构体 : 为了访问它的成员ptr : 必须用. : ...................