C/Study
[C] 값 입력할 때마다 메모리 할당
MoongStory
2024. 12. 20. 15:27
반응형
#include <cstdio>
#include <cstdlib>
#include <malloc.h>
int *temp, i = 0;
void test(int input);
int main()
{
int input = 0;
while(1)
{
printf("입력하세요 : ");
scanf("%d", &input);
test(input);
}
return 0;
}
void test(int input)
{
i += 1;
temp = (int *)realloc(temp, sizeof(int) * i);
temp[i - 1] = input;
for(int j = 0; j <= i - 1; j++)
{
printf("res = %d\n", temp[j]);
}
// 이렇게 할 경우 배열의 경우 배열의 크기가 나오지만 포인터 변수로
// 동적 할당 했을 경우 포인터 변수의 크기가 나옴.
printf("sizeof를 사용한 크기 측정 : %d\n", sizeof(temp));
// 동적 할당된 메모리의 크기를 확인하려면 _msize 함수를 사용해야 함...
// _msize 함수를 사용하기 위해선 malloc.h를 include 해야 함
printf("_msize를 사용한 크기 측정 : %d\n\n", _msize(temp));
}
반응형