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
'WORK > Sotfware' 카테고리의 다른 글
[자료모음] Critical Section (0) | 2019.12.14 |
---|---|
[memory] 메모리의 종류 (0) | 2018.09.20 |
[C] the c programming language 2nd edition solutions 자료 모음 (2) | 2018.09.06 |
[프로그램] 프로그램 언어를 배우기 위한 자료 링크 (0) | 2018.09.06 |
[C] linked list [1] 선행 학습 (0) | 2018.09.05 |
댓글