用C语言创建循环链表头结点怎么设啊,还有循环链表中末尾还需要加null吗
这样写对吗
typedef struct Node{
 int data;
 struct Node *llink;
 struct Node *rlink;
}Node, *dll;          
dll creat_dll()          
{
 Node *head,*p;
 head=(Node *)malloc(sizeof(Node)) ;    
 head->llink=head;
 head->rlink=head;
 int x,i;
 printf("请输入节点的值:");
 for(i=0;i<5;i++)
 {
  scanf("%d",&x);
  p=(Node *)malloc(sizeof(Node));
  p->data=x;
  p->llink=head;
  head->rlink=p;
  p->rlink=head;
  head->llink=p;
  printf("%d ",p->data);      
  head=head->rlink;
  
 } 
}
最后一个节点指向第一个这叫循环链表.双向链表只是每个元素都有2个指针.指向他的前后元素.
就是要创建循环链表,我这样写的话行吗 ,感觉头结点那里有点问题啊
头结点只是一个指针,循环链表最后一个节点指向头结点