Presentation is loading. Please wait.

Presentation is loading. Please wait.

메모리 관리 & 동적 할당.

Similar presentations


Presentation on theme: "메모리 관리 & 동적 할당."— Presentation transcript:

1 메모리 관리 & 동적 할당

2 정적(Static)과 동적(Dynamic)
동적 메모리 할당의 장,단점 malloc()와 free() malloc()과 calloc()의 차이 realloc()

3 정적(Static)와 동적(Dynamic)

4 정적(Static) 메모리 할당이란? 동적(Dynamic) 메모리 할당이란?
- 프로그램이 시작되기 전에 미리 정해진 크기의 메모리를 할당하는 방법 동적(Dynamic) 메모리 할당이란? - 프로그램이 실행 실행 도중에 동적으로 메모리를 할당하는 방법

5 동적 메모리 할당의 장, 단점

6 장점 단점 - 프로그램에서 제한된 자원(Memory)에 대한 효율적인 이용이 가능
동적 메모리 할당의 장, 단점 장점 - 프로그램에서 제한된 자원(Memory)에 대한 효율적인 이용이 가능 단점 - 동적 메모리 할당은 실행될 때 마다 메모리에 할당하는 방식으로 약간의 시간지체가 발생 - 구현이 복잡함

7 malloc()와 free()

8 malloc() 와 free() 예제 Source 결과 값

9 동적 할당 메모리는 힙(heap) 영역에 할당됨
malloc() 와 free() 동적 할당 메모리는 힙(heap) 영역에 할당됨 힙(heap)영역은 프로그램이 종료 될때까지 공간이 유지됨 사용이 끝난 동적 할당 메모리는 명시적으로 반납이 필요함 메모리를 반납하기 위해서는 free()함수를 사용

10 malloc() 와 free() 예제 Source 결과 값

11 malloc()과 calloc()의 차이

12 malloc()와 달리 할당된 메모리를 초기화 함
malloc()과 calloc()의 차이 calloc()도 동적 메모리를 할당하나 malloc()와 달리 할당된 메모리를 초기화 함 calloc()을 사용하면 초기화 시간이 발생하고 초기화해야 할 메모리 영역이 크면 다른 함수로의 전환이 필요함.

13 malloc()과 calloc()의 차이
예제 Source 결과 값

14 realloc()

15 저장된 데이터에 변화가 생기면 할당 받은 기억공간을 realloc() 함수를 사용하여 재조정 할 수 있음

16 realloc() 예제 Source 결과 값

17


Download ppt "메모리 관리 & 동적 할당."

Similar presentations


Ads by Google