안녕하세요 malloc과 free를 사용하는데
다섯개의 정수를 입력받는 코드를 짰는데요
malloc을 호출하여 메모리를 할당받고 그리고 그 메모리에
입력된 정수를 저장하는 것입니다.
코드는 이렇습니다.
int main(){
printf("input 5 numbers : ");
int * input = (int*)malloc(12);
int i = 0;
for(i = 0; i<5 ; i++)
scanf("%d",(input+i));
free(input);
}
실행결과는 이렇습니다.
*** Error in './ex0003' : free() : invalid next size (fast) : 0x~~~~~
Aborted
런타임 에러가 발생되구요,,,
malloc()값에 12를 넣으면 에러가 나고 13을 넣으면 에러가 나지 않네요
제 생각에는 int형(4)x5 생각해서 20밑으로는 에러가 나야하는데
12부터 에러가 나네요,,,
실행환경은 raspberry pi입니다.