힙이 손상되었습니다.
유진공주
질문 제목 :힙이 손상되었습니다.질문 요약 :힙이 손상되었습니다.질문 내용 :
디버깅을 하는 중인데 힙이 손상되었습니다 라는데 이건 무슨의미인건가요?
#include stdio.h
#include stdlib.h
#include time.htypedef struct
{
int x;
int y;
}coordination;int main()
{
int icount, isize, idata;
int istart, istop;
double dduration1, dduration2;
char cfilename[20]={0}, cdata[10];//배열의 모든 값을 null로 초기화
coordination *sic, *spc;//ic와 pc좌표를 저장할 구조체 포인터 선언;
file *fp;
fputs(파일이름?, stdout);
fgets(cfilename, sizeof(cfilename), stdin);
istart = clock(); for(icount = sizeof(cfilename) - 1 ; !cfilename[icount] ; icount--);//icount의 시작값을 cfilename의 가장 끝 배열공간번호로 설정
cfilename[icount] = 0;//fgets로 입력받아 같이저장된 \n값을 null값으로 변환 fp = fopen(cfilename, rt); if(!fp)
{
puts(파일을 열 수 없습니다.);
return -1;
}
fscanf(fp, %s, cdata);//문자열로 숫자를 입력받아
isize = atoi(cdata);//숫자로 변환(좌표의 개수) sic = (coordination *)malloc(sizeof(isize)); for(icount = 0 ; icount isize ; icount++)
{
fscanf(fp, %s, cdata);
idata = atoi(cdata);
sic[icount].x = idata; fscanf(fp, %s, cdata);
idata = atoi(cdata);
sic[icount].y = idata;
}
fscanf(fp, %s, cdata);//한줄 버리기 spc = (coordination *)malloc(sizeof(isize)); for(icount = 0 ; icount isize ; icount++)
{
fscanf(fp, %s, cdata);
idata = atoi(cdata);
spc[icount].x = idata; fscanf(fp, %s, cdata);
idata = atoi(cdata);
spc[icount].y = idata;
}
istop = clock(); dduration1 = (double)(istop - istart)/clocks_per_sec; printf(데이터를 배열에 기록하는 시간:%.2f초\n, dduration1);
fclose(fp);
free(sic);
free(spc);
}
-
AngelsTears
아... 몇달만에 다시 소스짜니 실수투성이네요..ㅜ 감사합니다~