중첩된 구조체의 연결리스트와 동적메모리할당

ch0nn0m의 이미지

동아리의 갯수와 각각의 동아리 안의 멤버들을 저장하는 구조를 중첩된구조체로 연결리스트로 만들어 보려고 하는데요

동아리방을 입력자가 계속 만들수 있고...

그다음에 찾고자 하는 동아리방 이름을 검색을 하면 연결리스트로 그 해당 동아리방을 찾아서...

해당 동아리방에 또다시 멤버들를 연결리스트로 넣는 구조로 만들어 보고 싶은데요

 
typedef struct _club  //동아리 방의 구조체
{
    char club_name[20];
 
    member *member_head, *member_tail;  //동아리마다 멤버들을 추가시킬수 있게 동아리 구조체에 포함시킴
 
    struct _club *next;
}club;
club *club_head, *club_tail;
 
 
typedef struct _member  //멤버들의 구조체
 
{
    char member_name[20];
 
    struct _member *next;
}member;

여기서 동아리방에 포함된 member를 어떻게 메모리를 할당해야하고...연결리스트를 어떻게 해야할지 갈피를 못잡겠네요.

bushi의 이미지

doubly linked list 의 C 예제입니다.
list.h 는 linux kernel 에서 가져다 교육용으로 대폭 간소화했습니다.

미리 말씀드리는데... 포인터에 대한 이해를 아직 못하셨다면 안보는게 낫습니다.

OTL

댓글 첨부 파일: 
첨부파일 크기
Plain text icon list.h.txt1.53 KB
Plain text icon test.c.txt5.6 KB
haze11의 이미지

typedef struct _club club;
typedef struct _member member;

struct _club
{
...
};

struct _member
{
...
};