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

int main()
{
  int i=0;
  int h=0;
  int j=0;
  int *arr,*copyarr;
  int a;

  arr=(int*)malloc( sizeof(int) * (5+3*h) );

  for(i=0;;i++){ 
  if(i>5)
  {
    h++;
    copyarr=arr;  
       arr=(int*)malloc( sizeof(int) * (5+3*h) );
          arr=copyarr;         
  }
    
  printf(\"number?(-1 to exit):\");
     scanf(\"%d\",&arr[i]);

  if(arr[i]==-1)
  break;   
  }
 
  for(j=0;j<i;j++)
     printf(\"%d,\",arr[j]);
  
    free(arr);
   return 0;
}

컴파일 했더니만 입력이 5개가 초과된후에 -1로 탈출을 하니

after normal block 이라는 메세지까 뜨네요..

검색해보니 메모리 영역을 벗어난곳에 접근을 했다나..

잘은모르겠지만 저기 free를 주석처리하면 잘컴파일 되네요...

어떤게 잘못된건가요..ㅠㅠ