使用二级指针申请链表

大耗子 2020年09月29日 33次浏览

使用二级指针申请链表

#include <stdio.h>
typedef struct Node_t{
	int id;
	struct Node * next;
}Node;

void main(){
	Node * nodeList = NULL;
	Node * tmp = NULL;
	fun(&nodeList ,10);
	tmp = nodeList;
	while(tmp){
		printf("tmp:%d\n",tmp->id);
		tmp = tmp->next;
	}
	return ;
}
int fun(Node** list,int num){
	Node * node = NULL;
	int i = 0;
	for(i = 0; i < num; i++){
		node = malloc(sizeof(Node));
		if(node == NULL){
			return -1;
		}
		node->next = NULL;
		node->id = i;
		*list=node; // 这行相当于给外面的nodeList传了地址
		list = &(node->next);// 相当于node = node->next;
	}
}