본문 바로가기
c & c++/메모리

동적할당(malloc)

by 일상코더 2022. 7. 26.

프로그램이 실행도중에 필요시에 동적으로 사용이 가능해야할때 사용

동적할당

 

int* ptr = (int*)malloc(100);  // 힙 영역에 100byte 할당

 

malloc(); 반환타입이 void   //사용자가 사용하고자 하는 반환타입으로 그때그때 알맞게 사용하기 위함

동적할당

동적할당 특징

                            1. 런타임 중에 대응 가능

                            2. 사용자가 직접 관리해야함(해제)

 

#include <iostream>
#include <stdio.h>
//메모리 영역
// 1. 스택(stack)
// 2. 힙(heap)
// 3. 데이터(DATA)
// 4. ROM(읽기 전용)

int main(void)
{
	int iPut = 0;
	scanf_s("%d ", &iPut);

	int* pInt = nullptr;

	//동적 할당
	if (100 == iPut)
	{
		pInt = (int*)malloc(100);
	}

	//프로그램 종료 전에 heap메모리 할당 해제
	if (pInt != nullptr)  
	{
		free(pInt);
	}
	//할당 해제 해주지 않으면 메모리 누수발생(메모리가 사용된다고 체크되면서 메모리가 쌓여감)
	return 0;
}

 

'c & c++ > 메모리' 카테고리의 다른 글

동적할당 calloc 함수 이용  (0) 2022.07.27
동적할당 malloc함수 이용  (0) 2022.07.27

댓글