나는 배움의 목적을 위해 간단한 프로그램을 가지고 있지만 할당 된 배열에서 realloc 할 때 null을 계속받습니다. 내가 잘못 뭐하는 거지 내가 realloc 함수 할 수 아니에요realloc return null
#include <stdio.h>
#include <stdlib.h>
void main()
{
char *ptr, *retval;
ptr = (char *)calloc(10, sizeof(char));
if (ptr == NULL)
printf("calloc failed\n");
else
printf("calloc successful\n");
retval = (char *)realloc(ptr, 5);
if (retval == NULL)
printf("realloc failed\n");
else
printf("realloc successful\n");
free(ptr);
free(retval);
}
, retval = (char *)realloc(ptr, 5);
?
'ptr'을 비우면 안됩니다. – md5
C 코드 또는 C++ 코드 여야하나요? –
'void main'은 정의되지 않은 동작입니다 (구현에서 정의하지 않는 한) – pmg