Open CharmStrange opened 1 year ago
자기 참조 구조체는 멤버로 자기와 같은 구조체를 참조하는 포인터를 가진 구조체이다. 보통 자료 구조에서 많이 활용한다.
typedef char element; typedef struct Node{ element data; struct Node *node; }Node;
위와 같은 구조체는 스택이나 큐, 연결 리스트, 트리 등에서 사용 가능하다. 구조체의 포인터에 다른 구조체를 넣어주면 한 구조체가 다른 구조체를 가리키는(참조하는) 형태가 되기 때문이다.
typedef int element; typedef struct Node{ element key; struct Node *LeftNode, *RightNode; }Node;
이 구조체는 이진 트리에서 활용할 수 있는 방법을 예시로 작성해 본 것이다. 좌측 노드(자식 노드)와 우측 노드를 가리키는 포인터를 포함한다.
C++에서도 사용 가능하지만 C++은 더 좋은 클래스가 있기 떄문에 Label 포함 안 시킴.
자기 참조 구조체는 멤버로 자기와 같은 구조체를 참조하는 포인터를 가진 구조체이다. 보통 자료 구조에서 많이 활용한다.
위와 같은 구조체는 스택이나 큐, 연결 리스트, 트리 등에서 사용 가능하다. 구조체의 포인터에 다른 구조체를 넣어주면 한 구조체가 다른 구조체를 가리키는(참조하는) 형태가 되기 때문이다.
이 구조체는 이진 트리에서 활용할 수 있는 방법을 예시로 작성해 본 것이다. 좌측 노드(자식 노드)와 우측 노드를 가리키는 포인터를 포함한다.