<aside> 👉🏻 연결 리스트(linked list)는 포인터를 이용하여 리스트를 구현한 자료구조이다.
</aside>
자료 사이를 연결하는 부분인 화살표가 포인터가 된다.
즉, 포인터를 이용해서 **다음 자료에 대한 연결 정보(링크)**를 가지게 된다.
→ 연결 리스트는 포인터를 이용하여 자료를 한 줄로 연결하여 저장한다.
연결 리스트의 노드 = 자료 + 연결 정보(링크)
→ 연결 리스트의 노드는 실제 저장하려는 자료와 다음 자료의 링크(연결 정보)를 멤버 변수로 가지는 구조체이다.
struct
키워드를 이용하여 구조체로 선언한다.
따라서 정수와 실수 같은 자료형뿐 아니라 또 다른 구조체도 멤버 변수로 저장할 수 있다.
→ 하나의 노드는 동시에 여러 자료를 저장할 수 있다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct LinkedListNodeType {
int data;
struct LinkedListNodeType *pLink;
} LinkedListNode;
int data
= 노드의 자료pLink
= 다음 노드의 연결 정보를 저장하는 멤버 변수