할당할 때

ucGRAY=(unsigned char**)malloc(sizeof(unsigned char*)*width);

for(i=0;i<width;i++)

{

ucGRAY[i]=(unsigned char*)malloc(sizeof(unsigned char)*height);

}


2차원 배열가지고 쭉 막 돌다가 




해제할 때

for(i=0;i<width;i++)

{

free(ucGRAY[i]);

}

free(ucGRAY);


free 빼먹으면 코드 잘 도는데 free 넣으니까 


할당하고 코드실행 중간에 에러 안나다가 해제할때 corruction나는데  왜일까요