C언어로 연결리스트 자료구조에서 헤드노드와 헤드포인터
김예쁨
2023.04.01
안녕하세요, 저는 책을 보고 연결리스트(Linked List)자료구조를 공부하고 있습니다.
리스트 원리는 책마다 거의 동일한데요, 리스트에 헤드노드를 사용해서 설명하는 데도 있고 헤드포인터를 사용하는 데도 있습니다.
typedef struct _node Node;
struct _node {
int data;
Node *pNode;
};
이런 노드가 있고요,
struct _list {
int currentNodeCount;
Node headNode;
};
struct _list {
int currentNodeCount;
Node *pHeadNode;
};
파란색은 헤드노드를 리스트에 포함시켜서 쓰는 겁니다. 데이터를 저장하는 용도가 아니고 첫 번째 노드가 어디 있는지 가리키는 용도고요,
빨간색은 노드를 가리키는 포인터를 리스트에 포함시키는 겁니다. 그러면 첫 번째 노드를 가리키는 데 쓰는 거고요,
둘 다 해봤는데 개인적으로는 노드를 포함시키는 게 함수 작성할 때 좋은 것처럼 느껴졌습니다.반면 헤드포인터로도 특별히 불편한 점은 없던데요. 질문은 리스트에서 헤드노드를 쓰는 거와 헤드포인터를 쓰는 거의 장단점 그리고 일반적으로 뭘 써야 하는지 궁금합니다.
-
훌걸이
어짜피 헤드 노드나 헤드 포인터를 사용하는 이유가 링크리스트의 노드 추가/삭제 등 관리를 편하게 하기 위해서 사용하는거라서... 둘다 용도는 같다고 보시면 되고... 편한거 쓰시면 됩니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695707 | 3의 배수 나타내기. (2) | 수리 | 2025-05-23 |
2695626 | 피보나치수열 과제 때문에 질문 드립니다. (6) | 옆집언니 | 2025-05-22 |
2695595 | 포인트공부중입니다 int형에서 4=1 인가요? (3) | 족장 | 2025-05-22 |
2695567 | 드라이브 고유번호를 가져오는 함수 (2) | 초코맛사탕 | 2025-05-21 |
2695533 | 음수의 산술변환! 질문이요 ㅠㅠ... (4) | 꽃여름 | 2025-05-21 |
2695506 | 구조체 배열 이용 도서목록 출력 프로그램 (1) | 가을귀 | 2025-05-21 |
2695450 | c언어 함수 질문이요.... | 이슬비 | 2025-05-20 |
2695403 | VirtualAlloc함수 및 메모리 질문 | 크리에이터 | 2025-05-20 |
2695355 | c언어 for함수 | 미쿡 | 2025-05-19 |
2695327 | 안녕하세요 제가 이번에 좀 큰 프로그램을.. | 악당 | 2025-05-19 |
2695295 | mutex동기화의 thread기반 채팅 서버소스 질문입니다 | 그루터기 | 2025-05-19 |
2695270 | 질문이요..swap 관한겁니다..ㅠㅠ (3) | 콩알녀 | 2025-05-19 |
2695244 | 노땅초보궁금한게 하나 있는데요..반복문(while문)초보자질문 (6) | 큰꽃늘 | 2025-05-18 |
2695166 | do while 문 어떤것이잘못된건지 모르겠어요 (2) | 아이폰 | 2025-05-18 |
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |
2695010 | C++의 STL은 왜 굳이 템플릿화 시켜서 라이브러리를 만드나요? (초보수준의 질문..) (2) | 엘보어 | 2025-05-16 |
2694958 | 로직이 변한다는 것에 대해서 궁금합니다. | 튼동 | 2025-05-16 |