返回信息流已知自定义结构:
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,试了几个都不行啊。。。。
这是一条镜像帖。来源:北邮人论坛 / cpp / #27808同步于 2009/8/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【弱问】c语言中的struct 嵌套问题
flyout
2009/8/29镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
【 在 flyout 的大作中提到: 】
: 已知自定义结构:
: struct a{
: int num;
: ...................
成员操作服"."的优先级高于 解引用操作符"*", 注意加括号
所以要这么写*((*aa).ptr).num
或者 *(aa->(ptr)).num
或者 (*aa).ptr->num
或者 aa->ptr->num
LZ还是认真看看指针这部分把
【 在 flyout 的大作中提到: 】
: 已知自定义结构:
: struct a{
: int num;
: ...................
bb.prt->num或者(*bb.ptr).num
按照你的建议,会有这些错误
invalid type argument of `unary *'
【 在 jokerlee 的大作中提到: 】
: 成员操作服"."的优先级高于 解引用操作符"*", 注意加括号
: 所以要这么写*((*aa).ptr).num
: 或者 *(aa->(ptr)).num
: ...................
这些事对的。。。但是为什么第一个
bb.prt->num 不需要*呢?
【 在 wangtodie 的大作中提到: 】
: bb.prt->num或者(*bb.ptr).num
bb是什么类型?b型结构体
为了访问它的成员ptr
必须用.
bb.ptr是什么类型?指向a型结构体的指针
为了访问它的成员num
必须用->
故bb.ptr->num
建议再看下书
【 在 flyout 的大作中提到: 】
: 这些事对的。。。但是为什么第一个
: bb.prt->num 不需要*呢?
thx so much, and i will review ths part of C....
【 在 guo 的大作中提到: 】
: bb是什么类型?b型结构体
: 为了访问它的成员ptr
: 必须用.
: ...................