example 1:创建单向链表,最基本的实现方式。
#include <stdio.h>
#include <malloc.h>
#define NULL 0
typedef struct node{
int data;
struct node *next; //不能使用ElemSN
}ElemSN;
int main()
{
ElemSN *head, *p;
int i, ms;/*ms用来存放结点的个数*/
int x;
printf("Please input node number:");
scanf("%d", &ms);
head = p = (ElemSN *)malloc(sizeof(ElemSN));
printf("Please input data:");
scanf("%d", &x);
head->data = x;
head->next = NULL;/*创建第一个结点,因为是头结点,和后面的结点有些不一样所以单独写出来*/
for(i = 0; i < ms-1; i++)/*创建后面的ms-1个结点*/
{
p->next = (ElemSN *)malloc(sizeof(ElemSN));
printf("Please input data:");
scanf("%d", &x);
p->next->data = x;
p->next->next = NULL;
p = p->next;
}
for(p = head; p != NULL; p = p->next)
{
printf("%d ", p->data);
}
printf("\n");
}链表(一)——创建一个最基本的单向链表,布布扣,bubuko.com
原文地址:http://blog.csdn.net/laoniu_c/article/details/37773435