链表的简单创建

来源:互联网 发布:客观评价张学良知乎 编辑:程序博客网 时间:2024/05/23 07:23
#include <stdio.h>#include <malloc.h>//用于动态分配内存#define NULL 0
#define LEN sizeof(List)
typedef struct node{long number;//数据域 struct NODE * next;//指针 }List;
int n = 0;//定义一个全局变量, 用来存放链表的个数 List * create();//函数声明 int main(){create();//创建链表 return 0;}//创建链表函数List * create(){List * head;//头指针, 指向第一个链表 List * p1, *p2;p1 = (List *)malloc(LEN);p2 = (List *)malloc(LEN);//开辟内存空间head = NULL;//当还没有链表时, head指向nullprintf("请输入要插入链表的数据(当输入0时结束):"); scanf("%d", &p1->number);while(p1->number != 0){//当number不为0时, 链表就增加一个++n;//链表个数加1if(n == 1)//当是第一个链表时 head = p1;elsep2->next = p1; p2 = p1;//p1, p2指向同一个内存p1 = (List *)malloc(LEN);//分配内存 printf("请输入要插入链表的数据(当输入0时结束):"); scanf("%d", &p1->number);} return head;} 

原创粉丝点击