typedef struct node {
int data;
struct node *next;
} Node_t; // 노드 하나를 저장하는 구조체



void InitList(Node **phead)
{
    *phead = NULL;
}




void AddData(Node **phead, int data)  // data는 index값을 설정예정
{
    Node *now = (Node *)malloc(sizeof(Node));//새로운 노드 생성
    now->data = data; //생성한 노드에 data 설정
 
                      //*phead는 리스트의 맨 앞에 노드의 위치 정보입니다.
    now->next = (*phead);//새로 생성한 노드의 next를 (*phead)로 설정
    *phead = now;//(*phead)를 now로 설정
}


///////////////////////////////////이




InitList(&head)

Node_t *head;

    {
        InitList(&head);
        for (i=0; i<N2; i++){
            AddData(&head, i);

        }
       
       
    }




이런식으로 N개의 노드를 가지는 LIST 1개를 구현한다고 치면 



typedef struct list {
node_t *head;
node_t *tail;
} List_t; // 리스트 구조체



이런 리스트 구조체는 뭐죠?


여러개의 n개의 노드를 가지는 list를  한개의 list에다가 묶을려고 합니다.



C를 잘못해서 질문합니다