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

안드개발님의 프로필 이미지
안드개발

작성한 질문수

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. Array vs Linked list를 비교해서 설명해주세요. (외 3문제)

Array와 LinkedList 메모리 영역

작성

·

233

5

강의를 보다가 궁금한 점이 생겨서 질문을 남깁니다.
동적 Array는 사용하다가 원소가 가득차면 resize가 일어나고, 이때 새로운 배열을 생성한다고 배웠습니다. 그러면 이때는 runtime 단계에서 memory allocation이 일어나서 Heap 메모리 영역에 할당되는 건가요?? 아니면 Stack memory 영역에 할당되는 건가요??

답변 1

2

개발남노씨님의 프로필 이미지
개발남노씨
지식공유자

안녕하세요 max speed님!!

정말 좋은 질문 남겨주셔서 감사합니다. 

 

fixed size array의 경우에는 stack memory 영역에 할당을 합니다. 

하지만 dynamic array의 경우 doubling 등을 통해 더 큰 배열로 옮겨가야 하기 때문에 이과정에서 기존에 할당했던 메모리도 free 해줘야 하고, runtime 내에서 더 큰 사이즈의 메모리를 할당해야 합니다.

 

따라서 Dynamic Array는 Heap 메모리 영역에 할당이 되게 됩니다. 

더 궁금하신점이 있다면 질문 남겨주세요 ~

안드개발님의 프로필 이미지
안드개발

작성한 질문수

질문하기