[c언어] 메모리 할당 시 크기를 결정하는 방법

가장 일반적인 방법은 malloc 함수를 사용하여 동적으로 메모리를 할당하는 것입니다. malloc 함수는 할당할 메모리의 크기를 매개변수로 전달 받습니다.

예를 들어, 다섯 개의 정수형 변수를 저장할 수 있는 메모리를 할당하려면 다음과 같이 작성할 수 있습니다.

int *ptr = (int*)malloc(5 * sizeof(int));

이 코드에서 5 * sizeof(int)는 5개의 정수형 변수에 필요한 총 메모리 크기를 나타냅니다.

또 다른 방법은 calloc 함수를 사용하는 것입니다. calloc 함수는 메모리를 할당하고 0으로 초기화합니다.

예를 들어, 세 개의 double 형 변수를 저장할 수 있는 메모리를 할당하려면 다음과 같이 작성할 수 있습니다.

double *ptr = (double*)calloc(3, sizeof(double));

이 코드에서 3 * sizeof(double)는 3개의 double 형 변수에 필요한 총 메모리 크기를 나타냅니다.

마지막으로, realloc 함수를 사용하여 이미 할당된 메모리의 크기를 다시 조정할 수 있습니다.

ptr = (int*)realloc(ptr, 10 * sizeof(int));

이 코드는 ptr이 가리키는 메모리의 크기를 10 * sizeof(int)로 다시 조정합니다.

이러한 함수들을 사용하여 메모리를 할당할 때 적절한 크기를 결정할 수 있습니다.