C/C++怎样通过一个结构体访问另一个结构体的数据?

struct Student{
    char school[20];
    char name[20];
};
struct BstNode
{
    Student stu;
    BstNode* left;
    BstNode* right;
}; //定义二叉树
void isEqual(BstNode **root, Student argu){   //此处传入root的地址
   if(strcmp(argu->name,(*root)->stu->name)<0)
      //do something...
}

我想判断比较argu的name和当前节点下所包含的stu的name的大小,但是argu->name,(*root)->stu->name报错: base operand of '->' has non-pointer type 'Student' 我应该怎么做呢?

阅读 5.9k
2 个回答

argu.name, (**root).stu.name

strcmp(argu.name,(*root)->stu.name)
请注意->.的区别

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题