|
배열로 설명을 드리겠습니다.
일단 최대 100개의 자료를 저장해야하는 경우가 있다고 보면..
일반적으로 char a[100]; 이렇게 선을 하게 됩니다.
하지만 실제 사용량은 20개 밖에 안된다고 하면.. 나머지 80개에 해당하는
메모리는 낭비가 되게 됩니다.
100개 인 경우 얼마 안되어 보이지만.. 1000개 정도.. 혹은 그 이상이 되면..
낭비되는 공간은 더욱더 커집니다.
이렇게 메모리를 절약해야하는 경우에 사용할수 있고요..
또다른 경우는 최대자료가 얼마인지 알수 없는 경우입니다.
최대자료가 사용자의 입력등에 따라서 10개도 될 수 있고, 1000개도 될수
있다고 하면.. 동적 메모리 할당을 이용하면 프로그램을 더 유연하게 만들수
있습니다.
위의 내용은 단순한 예를 들었을 뿐이고요..
실제 사용시는 동적할당을 이용한 링크드 리스트나 트리등의 자료구조를 사용하게 되며
이 경우 검색이나 자료저장등에 있어서 상당한 잇점이 있습니다.
(이 부분은 각 자료구조에 대한 서적을 참고하세요)
[질문] 님이 쓰신 글 :
:
: c 나 c++ 이나 동적 메모리 할당이라는 말이 나오던데...
:
: 일반적인 메모리 할당에 비해서 어떻게 다르고, 어떠한 장점이 있는지 정확하게 잘 모르겠습니다.
:
: 동적 메모리 할당에 대해서 알고계신분들은 답변 부탁드릴께요...
:
:
:
:
:
:
|