[c언어] 동적 메모리 할당을 위한 realloc 함수 설명

동적으로 할당된 메모리를 다시 조정하기 위해 realloc 함수를 사용할 수 있습니다. realloc 함수는 메모리 블록의 크기를 새로운 크기로 조정하고자 할 때 사용됩니다. 이를 통해 기존 메모리 블록의 크기를 증가시키거나 감소시킬 수 있습니다.

realloc 함수 구문

void* realloc(void* ptr, size_t size);

realloc 함수는 포인터 ptr이 가리키는 메모리 블록의 크기를 size로 변경합니다. 이때, 기존 포인터의 값을 반환하지 않을 수도 있고, 새로운 메모리 주소를 반환할 수도 있습니다.

realloc 함수의 사용 예시

#include <stdio.h>
#include <stdlib.h>

int main() {
    int *ptr;
    
    // 메모리 할당
    ptr = (int*)malloc(5 * sizeof(int));
    
    if (ptr == NULL) {
        printf("메모리 할당 오류");
        return 1;
    }
    
    // 메모리 재할당
    ptr = (int*)realloc(ptr, 10 * sizeof(int));
    
    // 추가적인 작업 수행
    
    // 메모리 해제
    free(ptr);
    
    return 0;
}

realloc 함수는 포인터 ptr이 가리키는 메모리 블록의 크기를 증가시킬 수 있습니다. 그러나 realloc 함수가 메모리 블록을 증가시키지 못할 경우, 새로운 메모리 블록을 할당하고 기존 데이터를 새로운 블록으로 복사합니다.

realloc 함수는 메모리의 크기를 조절하는 데 유용한 함수이며, 메모리를 효율적으로 활용하기 위해 프로그래머들에게 도움을 줄 수 있습니다.

자세한 정보는 realloc 함수에서 확인할 수 있습니다.