자기 참조 구조체란 다음과 같이 자기 자신의 구조체를 가리키는 포인터를 맴버로 하는 구조체이다. 자기 참조 구조체는 같은 유형의 구조체를 서로 연결해 관리하고자 할 때 이용된다. 이러한 구조를 “연결 리스트”라고 한다.
struct car
{
char name[10]; //차량 이름
int year; // 연식
double fuel; // 연료량
struct car *other; // 자기 참조
};
아래의 예시를 보도록 하자. 이럴 경우에, first의 next가 second를, second의 next가 third를 가리키는 형태로 이어져 있는 것이다.