c如何从结构中返回头部

  • 本文关键字:返回 头部 结构
  • 更新时间 :
  • 英文 :


代码 我试图返回 head:

node insert(node *head, int num){
  node *newnode;
  newnode=getnode();
  newnode->data=num;
  nednode->next=NULL;
  if(head==NULL){
     head=newnode;
     newnode->next = NULL;
  }
  head->next=newnode;
  return head;
}

编译后,我收到此错误:

"错误:预期的声明说明符或'..."在"*"标记之前"

提前致谢

您的函数原型似乎不完整:

node insert(*head,num)

应该是:

node insert(node *head, int num)

您的返回值可能应该是 node*。因此,它应该是节点* insert(node* head, int num);

此外,您有一个带有新节点的错字。我试过了,更改返回值后它对我有用。

你的代码应该像这样。

将 nednode 更改为 newnode。

当你让节点与链路连接时,需要找到链路的尾部,并将新节点连接到尾部。

并且您应该返回节点*而不是节点。因此,将函数的返回类型更改为节点*。

node* insert(node *head, int num){
  node *newnode;
  newnode=getnode();
  newnode->data=num;
  newnode->next=NULL;
  if(head==NULL){
     head=newnode;
  } else {
     node *p = head;
     while(p) {
       p = p->next;
     }
     p->next=newnode;
  }
  return head;
}

最新更新