使用头插法建立单链表并输出## 标题
# include<stdio.h>
typedef struct node{
int data;
struct node *next;
} Lnode;
Lnode *Head_Insert(){
Lnode *ptemp = NULL;
Lnode *HeadNode = NULL;
Lnode *p;//前面这里是声明这里有多少个变量
HeadNode = (Lnode*)malloc(sizeof(Lnode));
HeadNode->next = NULL;//声明了一个头结点,最后只需要使用这个头结点去发判断序列中是否有元素
int x;
scanf("%d",&x);
while(x != 9999){
ptemp = (Lnode*)malloc(sizeof(Lnode));
ptemp->data = x;
ptemp->next = NULL;
if(HeadNode->next == NULL){
HeadNode->next = ptemp;
} else{
ptemp->next = HeadNode->next;
HeadNode->next = ptemp;
}
scanf("%d",&x);
}
return HeadNode;
}
void printList(Lnode *L){//拿到这个头结点
L = L->next;//拿到头结点
while(L!=NULL){//判断头结点是否为空
printf("%d ",L->data);
L = L->next;
}
}
int main(){
Lnode *t =Head_Insert();
printList(t);
return 0;
}
刚学习C语言,C语言小白,中间有一些地方需要注意
- Main需要定义在自定义函数的下面,或者说应该可以将Main函数写在上面,但是需要在里面写出定义了那些方法。
- 返回值如果是一个指针的话,那么在声明方法的时候该方法也应该加上指针符号。