#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct List
{
char str[10];
struct List *prev;
struct List *next;
};
typedef struct List LinkedList;
LinkedList *CreatList(int size)
{
int i;
LinkedList *head = (LinkedList*)malloc(sizeof(LinkedList));
LinkedList *temp = head;
for(i=0; i<size-1; i++)
{
LinkedList *tail = (LinkedList*)malloc(sizeof(LinkedList));
tail->next = NULL;
temp->next = tail;
tail->prev = temp;
temp = tail;
}
return head;
}
int main () {
char *str1="0123456789";
char *str2="9876543210";
char *str3="abcdefghij";
char *str4="ABCDEFGHIJ";
LinkedList *kzyy = CreatList(5);
memcpy(kzyy->str, str1, 10);
kzyy = kzyy->next;
memcpy(kzyy->str, str2, 10);
kzyy = kzyy->next;
memcpy(kzyy->str, str3, 10);
kzyy = kzyy->next;
memcpy(kzyy->str, str4, 10);
printf("kzyyx kzyy next prev\r\n");
printf("kzyy4 0x%x 0x%x 0x%x\r\n",kzyy,(kzyy->next),(kzyy->prev));
kzyy = kzyy->prev;
printf("kzyy3 0x%x 0x%x 0x%x\r\n",kzyy,(kzyy->next),(kzyy->prev));
kzyy = kzyy->prev;
printf("kzyy2 0x%x 0x%x 0x%x\r\n",kzyy,(kzyy->next),(kzyy->prev));
kzyy = kzyy->prev;
printf("kzyy1 0x%x 0x%x 0x%x\r\n",kzyy,(kzyy->next),(kzyy->prev));
return 0;
}