강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của whiteleo960732
whiteleo960732

câu hỏi đã được viết

Học lập trình C cùng Hong Jeong-mo (Phụ lục)

17.9 Cấu trúc dữ liệu ngăn xếp

스택 자료구조

Viết

·

240

0

스택 자료구조에 대해 조금 궁금증이 생겨서 질문 남깁니다.

연습 문제를 풀 때 pop

element Pop(Stack* stack)

{

if (IsEmpty(stack) == true)

{

element tempt = { -1 };

printf("Stack is Empty. Cannot remove\n");

return tempt; 

}

else

{

return stack->items[stack->top--];

}

}

이것을 구현 하는데 오랜 시간이 걸렸는데, 이유가 이미 쌓인 메모리를 아에 지우려고 시도해서 입니다. 그런데 코드를 보면 

stack->top 을 인덱스 처럼 이용해서 stack->top의 값만 바꾸어 주며 사실 저장된 값은 그대로 있어서 사용하지도 않는 값을 가지고 있는게 아닌가 하는 의문이 들었습니다.

앞에서 배운 linked-list의 경우는 free를 이용하여 메모리를 지워주는데 스택의 메모리는 계속 쌓여있는 것이 아닌가요?

c

Câu trả lời 1

0

honglab님의 프로필 이미지
honglab
Người chia sẻ kiến thức

'스택'의 의미가 '쌓여있는 것'입니다.

Hình ảnh hồ sơ của whiteleo960732
whiteleo960732

câu hỏi đã được viết

Đặt câu hỏi