반응형
동적메모리란? / 동적 할당 개념 그림으로 이해하기
프로그램이 동적 메모리를 가져다 사용할 때는 총 세 가지 단계를 거칩니다.
메모리 할당
메모리 사용
메모리 해제
매니지드 언어(대표적으로 C언어)는 위 3단계를 프로그래머가 직접 다 해야합니다.
1 . 메모리 할당
힙 관리자에게 메모리를 xxx 바이트만큼 달라고 요청합니다.
관리자는 그만큼의 연속된 메모리를 찾아서 반환합니다.
반환된 메모리는 어떤 자료형에 저장 가능할까요?
메모리 주소니 당연히 포인터입니다.
2. 메모리 사용
포인터 사용이랑 같습니다. 그래서 메모리를 원하는 대로 사용할 수 있습니다.
예) int 배열에 성적을 저장한 뒤 평균을 구해서 float 변수에 저장할 수 있습니다.
3. 메모리 반납/해제
힙 관리자에게 그 메모리 주소를 돌려주면서 다 썼다고 알려줘야합니다.
그럼 그 관리자는 그 메모리 주소를 아무도 사용하지 않는 상태로 바꿉니다.
반응형
'컴퓨터 공학 > C, C++' 카테고리의 다른 글
[ C ] 메모리 이해하기8 _calloc(), memset(), realloc() (411) | 2020.07.16 |
---|---|
[ C ] 메모리 이해하기7 _malloc 짝꿍 함수 free 란? (389) | 2020.07.16 |
[ C ] 메모리 이해하기5_힙(heap) 메모리란? (395) | 2020.07.15 |
[ C ] 메모리 이해하기4 _스택(stack) 메모리란? (392) | 2020.07.15 |
[ C ] 메모리 이해하기3 _register 키워드란? register 변수의 제약 (399) | 2020.07.14 |
댓글