编辑代码

#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));
    //printf("%s\n",kzyy->str);
    kzyy = kzyy->prev;
    printf("kzyy3  0x%x  0x%x  0x%x\r\n",kzyy,(kzyy->next),(kzyy->prev));
    //printf("%s\n",kzyy->str);
    kzyy = kzyy->prev;
    printf("kzyy2  0x%x  0x%x  0x%x\r\n",kzyy,(kzyy->next),(kzyy->prev));
    //printf("%s\n",kzyy->str);
    kzyy = kzyy->prev;
    printf("kzyy1  0x%x  0x%x  0x%x\r\n",kzyy,(kzyy->next),(kzyy->prev));
    //printf("%s\n",kzyy->str);
	return 0;
}