인프런 커뮤니티 질문&답변

m1n_q님의 프로필 이미지
m1n_q

작성한 질문수

홍정모의 따라하며 배우는 C언어 (부록)

17.4 연결 리스트 사용하기

강의 내용 질문 드립니다!

작성

·

234

0

강의 16분경, 
if (prev==NULL)
 부분에 대하여 질문드립니다!

위에서 prev = NULL 로 초기화를 해주었고,
1.search 하는 루프에 아예 진입하지 못하거나,
2.search 루프에 들어가자마자 찾아서 break; 에 걸리거나

두 경우가 아니면 prev가 null 일수 없는 구조로 보이는데,

설명하시기를, 

prev 가 null이다 -> prev가 head이다 라고 하신 부분이 이해가 잘 가지 않습니다!

prev가 null이다 -> search가 head일 때가 아닌지 여쭙습니다ㅜㅜ 제가 이해가 부족한 것이라면 도움 부탁드리겠습니다. 감사합니다!

답변 2

0

m1n_q님의 프로필 이미지
m1n_q
질문자

답글 감사합니다. 예 말씀주신대로,  prev값이 null 인 경우는 search의 상위노드가 Null, 즉 search가 head인 경우로 이해하고 있습니다. 
다만 강의 중 말씀에서는, prev값이 null 일때 prev가 head라고 말씀하신 부분에서 혼동이 생겼습니다.
prev가 head 라는건 search가 head의 다음 노드라는 뜻이니까요! 

0

보통 연결리스트에서 prev라는 변수는 자신의 이전 노드 또는 상위 노드를 가리키는 용도의 이름입니다.

따라서 prev의 값이 null 이라면 자신의 상위 노드가 없거나 이전 노드가 없다는 것을 의미하기 때문에 맨 처음의 head노드라고 이야기 하신것 같습니다.

궁금한점 있으면 답글 남겨주시면 감사하겠습니다.

m1n_q님의 프로필 이미지
m1n_q

작성한 질문수

질문하기