로딩
요청 처리 중입니다...

동적 메모리 할당(malloc) 예외 처리

 동적 메모리 할당(malloc) 예외 처리

malloc 을 호출하여 동적 메모리 영역을 할당하려고 했지만, 메모리의 부족으로 실패할 가능성이 있을 것이다. 먼저, malloc 호출이 실패한 것을 어떻게 알 수 있을까?

malloc 함수는 메모리를 사용할 수 없으면 NULL 포인터를 반환한다. malloc 함수의 반환 값을 어떤 포인터에 지정한 뒤, 해당 포인터가 주소 값이 아닌 NULL 포인터를 가지고 있다면 malloc 호출이 실패한 것을 알 수 있을 것이다. 다음과 같이 if 조건문을 통해 쉽게 확인할 수 있다.

다음과 같이 메모리 할당이 실패한다면 프로그램을 종료시킬 수도 있다. #include #include //exit 호출을 위한 헤더 선언 int main(){ int I, *pInt; //정수 변수 I, 정수 포인터 pInt float F, *pFloat; //실수 변수 F, 실수 포인터 pFloat //메모리 부족으로 malloc 호출이 실패한다면 프로그램 종료 if ((p...