HEAP CORRUPTION DETECTED 에러가 인터넷에서 찾아보니까 동적 메모리 할당, 메모리 해제할 때 나는 에러라고들 하던데,
문제는 제가 1학년때 동적 할당을 배운적이 없다는거죠ㅠㅠ 그래서 교수님께서 안배운 아이들을 위해 가르쳐주시긴했는데, 간단하게 알려주셔서...ㅠ
구조체 포인터 배열을 쓰는건데, 메모리를 할당할때
Person *info = (Person*) malloc(sizeof(Person));
이렇게하고,
데이터를 삭제하고 메모리를 해제할때,
if(*info[i].name == 0) //데이터 출력할때 삭제한건 안나오게 할려고...
{
free(info);
info = NULL;
continue;
}
이렇게 했는데.....
제가 생각하기엔 메모리 해제할 때 문제가 생긴것 같은데, 뭘 잘못했는지 모르겠네요ㅠㅠ
저 위에 있는 코드로만 문제점을 찾을 수 있을까요??;;
과제이다보니 전부 다 적어서 물어보긴 좀 그래서.......
위에 있는 코드로만 문제점 찾을수가 절대 없지
아니다 절대 있네, 문제점 찾았다
뭐...뭐가있나요??ㅠㅠㅠ 지금 계속 이것저것 찾아서 바꿔보고는 있는데 해결이 안되네요......
힙 커럽션은 할당한 힙 크기 보다 더 크게 써버렸을 때 발생하는 문제다.