struct node *creat(struct node *head)
{
struct node *q,*p;
int i;
for(i=1;i<=N;i++)
{
q=(struct node *)malloc(sizeof(struct node));//用q接收首地址,此时q指向了struct的开头
printf("please input NO.%d student's name:\n",i);
fflush(stdin);
gets(q->name);
printf("please input NO.%d student's birthday:\n",i);
scanf("%d",&q->birthday);
printf("please input NO.%d student's physics, math and English's score:\n",i);
scanf("%d%d%d",&q->p,&q->m,&q->e);
printf("please input NO.%d student's num:\n",i);
scanf("%d",&q->num);
q->next=NULL;
if(head==NULL)
head=q;
else p->next=q;
p=q;
}
return head;
}
我这样的创建链表,是不是不含有头结点
链表结构中如何创建一个头结点?
答案:2 悬赏:0
解决时间 2021-04-09 19:47
- 提问者网友:失败的占卜者
- 2021-04-09 04:59
最佳答案
- 二级知识专家网友:花一样艳美的陌生人
- 2021-04-09 06:29
有啊,但是建议不要这么写,不简洁,你采纳我给你简洁版的
谢谢
谢谢
全部回答
- 1楼网友:飘零作归宿
- 2021-04-09 07:26
链表你是非顺序存储结构。
因为数据结构是数据对象+关系
所以它必须在每个节点中包含数据元素(数据域)和它的关系(即指针域)
链表中的第一个元素就是它的第一个节点。
为了方便链表的操作,这里引入了头结点和头指针
所谓头结点就是在第一个节点前的节点,它不存放数据,仅仅存放第一个节点的地址。
而头指针就是指向第一个节点的指针,也就是说是第一个节点的地址
还有一个概念叫做头结点指针 是指向头结点的指针
它们的关系很好理解
比如 定义一个头节点指针phead 都指针p
则有p=phead->pnext
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |