struct相互调用问题
struct相互调用问题
小绿豆蛙 发表于4年前
struct相互调用问题
  • 发表于 4年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

在编程中一个不小心在struct定义时候就变成了两个struct相互调用导致报错。

比如说struct one {

    ......

    struct two tmp;

    }

struct two {

    ......

    struct one tmp1;

}

这样在调用的时候就会出错,因为定义了这个struct two变量,那struct one就要预先知道struct two里面的成员,就找呀找也找不到,因为在下面才有它的定义。那实际上应该在么做?只要把调用的定义换成指针就可以了,struct two *tmp,说明这是个two类型的指针,归根结底是指针,所以编译器不管struct成员是什么只是分配sizeof(void *)这个成员就可以了,这样就可以了。

共有 人打赏支持
粉丝 0
博文 30
码字总数 13280
×
小绿豆蛙
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: