~cpp 
//   ㅋㅋㅋㅋㅋㅋㅋㅋ
/*
int a;          // 
a = 10;         // 
int b = 10;     // &
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct _slist List;
typedef struct _slist{                  // 구
        int num;
        List *next;
        List *prev;
}List;
/*
struct _slist{
        int num;
        List *next;
        List *prev;
};
typedef 'strucrt _slist' List .
, "List *aaa" == "struct _slist *aaa"
*/
#include "ExList.h"
void ShowList(List *plist)
{
        List *p;                // 구 .
        p=plist;
        while(p)
        {
                printf("%d\n",p->num);
                p=p->next;
        }
}
void main()
{
List *pList,*pNew,*pIns;        // struct _slist *pList, *pNew, *pIns;  구3개 
        pList=(List *)malloc(sizeof(List));     // malloc (List *)  기 List  공간 고 그  공간   . 그  pList ().
        pList->next=0;                  //  구     . 0.
        pList->prev=0;                  //  구     .
        pList->num=1;                   //  구  1  .
        printf("root\n");         // *pList root .
        ShowList(pList);
        pNew=(List *)malloc(sizeof(List));
        pList->next=pNew;               // pList  struct pNew .       pList ---> pNew
/*
pList->next  (*pList).next .
*/
        pNew->num=2;                    //  struct  .
        pNew->prev=pList;               // pNew  struct pList .       pList <--> pNew
        pNew->next=0;                   // pNew  struct   .
        printf("pNew\n");
        ShowList(pList);
        pIns=(List *)malloc(sizeof(List));
        pIns->num=3;                    // 3 struct  .
        pIns->prev=pList;               // pIns pList pNew   . (pList <-- pIns)
        pIns->next=pNew;                // pList <--> pNew, pIns ---> pNew
        pList->next=pIns;               // pList <--> pIns, pIns ---> pNew, pList <--- pNew (pList <--> pList, pList <--- pNew <--- pIns)
        pNew->prev=pIns;                // pList <--> pIns, pIns <--> pNew (pList <--> pIns <--> pNew)
        printf("pIns\n");
        ShowList(pList);
        pList->next=pNew;            //  ;;;
        pNew->prev=pList;
        free(pIns);                     // malloc       . (그     . ㅋㅋ)
        printf("pIns \n");
        ShowList(pList);
        free(pNew);
        free(pList);
}