본문 바로가기
WORK/Sotfware

[Linked List No1] Struct 분석

by KANG Stroy 2018. 9. 10.
728x90
728x90

이와 같은 형태의 구조를 나타내는게 Linked list 이다. 


여기서 기본적인 구조는 구조체를 가진다. 이런 구조체를 노드라고 이름을 붙인다. 


struct pnode{

char data;

struct pnode *next;

};


typedef struct pnode NODE;


char을 사용한것은 영문이나 숫자를 넣기 위함이다. 


struct pnode *next; 


는 자기 참조 구조체이다. 


자기 참조 구조체를 쓰는 이유는 ? 구조체 자체는 하나의 값을 가진다. 그러나 자기 참조 구조체를 쓰게 되면 다른 변수를 지정히자 않아도 가능해 진다. 링크드 리스트의 핵심이 되는 부분이다. 


여기서 이 부분이 다음 구조체에게 화살표를 쏘는 것이다. 


하나의 구조체(노드), 마지막 구조체(노드)는 마지막이라는것을 나타내기 위해서 NULL 을 가지게 된다. 


typedef struct pnode NODE;


구조체를 정의 하려면 struct pnode 붙인다. 


안그래서 쓸일 많은데 많이 쓰기 귀찮다. 이때 형태를 정의 한다. 이제 NODE는 struct pnode 가 되는 것이다. 


728x90

댓글