C语言使用头插法建立单链表并输出

使用头插法建立单链表并输出## 标题

# include

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语言小白,中间有一些地方需要注意

  1. Main需要定义在自定义函数的下面,或者说应该可以将Main函数写在上面,但是需要在里面写出定义了那些方法。
  2. 返回值如果是一个指针的话,那么在声明方法的时候该方法也应该加上指针符号。

你可能感兴趣的:(C语言基础,c语言,指针,链表)