首先第一个头文件,定义结构体类型
typedef struct LNode
{int data;struct LNode* next;
}LNode,*LinkList;
//可能作为第一次写c语言的小伙伴看不懂这一段typedef是如何定义的
//基本的解释如下所示
//typedef struct LNode LNode;
//typedef struct LNode* LinkList; //定义指针指向头结点
其次是源文件
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include"LinkList.h"LinkList createList(int n)
{LinkList L, p, q;int i;L = (LNode*)malloc(sizeof(LNode));//定义一个头结点if (!L)//防止头结点未定义成功return 0;L->next = NULL;q = L;for (i = 0; i < n; i++){p = (LNode*)malloc(sizeof(LNode));printf("请输入第%d个元素的值:", i+1);scanf("%d", &(p->data));p->next = NULL;q->next = p;q = p;}return L;
}bool PrintLinkList(LinkList L)
{int i = 0;if (!L)//如果头指针L指向的是空值,则直接结束return false;LinkList p = L->next;while (p){printf("链表中第%d个数为%d\n", i + 1, p->data);p = p->next;}return true;
}int main()
{LinkList head = NULL;//初始化LinkList指针指向NULLint n;//用于定义输入几个数据printf("请输入你需要输入几个数据\n");scanf("%d", &n);head = createList(n);PrintLinkList(head);return 0;
}