-
Linked list (링크드 리스트)C언어 2020. 6. 22. 19:35
구조체로 링크드 리스트를 만드는 것은 포인터만 제대로 이해하면 어렵지 않다.
대신 자주 실수하는 것이 생긴다.
내가 알면서도 항상 실수하는 것들을 올려본다.
1. typedef로 struct를 선언했더라도, struct내부에 포인터를 둘 경우
포인터는 별칭이 아니라
struct name * ptr; 처럼 이름을 써줘야한다.
typedef struct _Name{ int a; int b; struct _Name * ptr; }Name;
2. Linking을 잊는 경우가 있다.
file에서 불러와서 구조체 배열을 이어서 작성하게 되면
file의 마지막 요소의 next에 새로 추가할 노드(node)의 주소값을 넣어줘야한다.
생각보다 자주 까먹는다.
원인모를 segmentation fault 세그멘테이션 오류가 난다면, 링크드 리스트의 링크를 제대로 지정해줬는지 확인하자
'C언어' 카테고리의 다른 글
size_t를 쓰는 이유 (0) 2020.10.09 [Makefile] ar & rcs (0) 2020.10.07 Segmentation Fault (0) 2020.06.19 문제로 배우는 C언어 - 스파이 찾기 (0) 2020.03.05 문제로 배우는 C언어 - 자리찾기 (0) 2020.03.05