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

동적 메모리 할당(malloc)의 매크로 정의, 허상 참조(dangling reference)

 동적 메모리 할당(malloc)의 매크로 정의, 허상 참조(dangling reference)

malloc은 프로그램의 여러 곳에서부터 호출되기 때문에 malloc 을 기동시키고, malloc이 실패할 때 빠져나가는 매크로를 정의하는 것이 편리할 때가 있다. 다음과 같이 포인터와 자료형의 크기를 입력받아 malloc을 호출하고, 메모리 할당에 실패한다면 프로그램을 종료하는 매크로를 작성할 수 있다. // blog.naver.com/ljy9378 // Copyright by 로졔 2019 #include #include //exit 호출을 위한 헤더 선언 #define MALLOC(p,s) \ // 포인터 p, 자료형의 크기 s if ((p = malloc(s) == NULL) { \ fprintf(stderr, "Insufficient memory"); \ exit(EXIT_FAILURE); \ } int main(){ int I, *pInt; //정수 변수 I, 정수 포인터 pInt float F, *pFloat; //실수 변수 F, 실...