본문 바로가기
컴퓨터 공학/C, C++

[ C ] 메모리 이해하기6 _동적메모리란? / 동적 할당 개념 그림으로 이해하기

by hahehohoo 2020. 7. 15.
반응형

동적메모리란? / 동적 할당 개념 그림으로 이해하기

 

프로그램이 동적 메모리를 가져다 사용할 때는 총 세 가지 단계를 거칩니다.

 

메모리 할당

메모리 사용

메모리 해제

 

매니지드 언어(대표적으로 C언어)는 위 3단계를 프로그래머가 직접 다 해야합니다. 


 

1 . 메모리 할당

힙 관리자에게 메모리를 xxx 바이트만큼 달라고 요청합니다.

관리자는 그만큼의 연속된 메모리를 찾아서 반환합니다.

 

메모리 할당 순서1 / 출처: 하헤호후

 

메모리 할당 순서2 / 출처: 하헤호후

 

메모리 할당 순서3 / 출처: 하헤호후

반환된 메모리는 어떤 자료형에 저장 가능할까요?

메모리 주소니 당연히 포인터입니다. 

 


2.  메모리 사용

 

포인터 사용이랑 같습니다. 그래서 메모리를 원하는 대로 사용할 수 있습니다.

예) int 배열에 성적을 저장한 뒤 평균을 구해서 float 변수에 저장할 수 있습니다. 

 


 

3. 메모리 반납/해제

힙 관리자에게 그 메모리 주소를 돌려주면서 다 썼다고 알려줘야합니다.

그럼 그 관리자는 그 메모리 주소를 아무도 사용하지 않는 상태로 바꿉니다. 

 

 

 

 

 

반응형


댓글