Backend/C

링크드 리스트 다루기

petitCoding 2012. 4. 12. 10:28

<1> 준비하기

링크드 리스트를 사용하려면 링크드 리스트에서 사용할 데이터 구조체를 정의해야 하고 헤드 포인터를 선언할 필요가 있다. 링크드 리스트는 비어 있는 상태로 시작하므로 헤드 포인터는 NULL로 초기화 해준다. 또한 링크를 추가하는데 사용할 링크드 리스트의 구조체형에 대한 포인터를 추가로 선언해야 한다.

 

1 : struct person{
2 :  char name[20];
3 :  struct person *next;
4 : };

5 : struct person *new;
6 : struct person *head;

7 : head = NULL;

 


 

<2> 링크드 리스트의 시작 부분에 링크 추가하기

 

1. malloc() 을 사용하여 메모리 공간을 할당하며 구조체형 변수를 생성한다.

2. 새로운 링크의 next 포인터를 헤드 포인터의 현재 값으로 설정한다. 이 값은 링크드 리스트가 비어 있다면  NULL이 될 것이고 그렇지 않다면 현재 첫 번째 링크의 주소가 될 것이다.

3. 헤드 포인터가 새로운 요소를 가리키게 된다.

 


1 : New = (person*)malloc(sizeof(struct person));
2 : New->next = head;
3 : head = New;

 

 

 [Teach Yourself C 참고]