하루의 쉼터

[Algorithm] 동적메모리(Heap) 본문

프로그래밍/C언어

[Algorithm] 동적메모리(Heap)

Changun An 2020. 12. 8. 06:00
반응형


동적 메모리 ( heap) 
  -  동적 자료 구조 
  -  배열의 단점을 극복하는 구조... 


  1) 일반 정적 배열 :  C/C++언어 차원에서 지원해주는 배열 

  ex)  int arr[5]; 
 - 장점 : 실행 속도가 빠르다.
 - 단점 :
    크기가 고정이다.  
★ 유연하지 못하다. ( 변화에 대응할수 없다.) 
    정적인 배열의 메모리 낭비

 * 정적인 배열의 메모리 낭비
 char addr[3][20] = {"",};
 [][][][][][][][][][][][][][][]][[]][][[]
 [][][][][][][][][][][][][][][]][[]][][[]
 [][][][][][][][][][][][][][][]][[]][][[]
 사용자에게 3개의 문자열 입력 받아서 저장 되지만 남은 공간이 발생


 2) 동적 배열 

    - 실행시간에 원하는 만큼의 공간을 할당하고 사용
    - malloc : heap메모리에 공간을 할당 
   동적 배열 단점
    - malloc 함수는 성능 저하가 심각함
    - 처음에 할당 이후에 재할당하는 문제가 발생함(성능)
 

 

코드 -> Github

github.com/Anchangun/Library/tree/main/C/Heap

 

Anchangun/Library

Contribute to Anchangun/Library development by creating an account on GitHub.

github.com

 

반응형
Comments