free 함수 error!
두루
질문 제목 : 질문 내용 : #include stdio.h
#include stdlib.h
int *a;
int *b;
int e;
int func(int c){
int i=0,j=0;
if(c!=-1){
printf( %d ,c);
}
for(j=0;je;j++){ //b배열에 있는 것 중 같은 정점은 가지 않기 위해 체크표시를 -1로한다.
if(b[j]==c){
b[j]=-1;
}
}
for(i=0;ie;i++){
if(a[i]==c){
a[i]=-1; //체크 표시 후 함수 작동.
func(b[i]);
}
}
return 0;
}
int main(void){
file * fp = fopen(data.txt,rt);
int i=0;
int v;
int ch;
if(fp==null){
puts(파일 오픈 실패);
return -1;
}
fscanf(fp,%d,&v);
fscanf(fp,%d,&e);
a=(int *)malloc(e);
b=(int *)malloc(e);
printf(정점 갯수 : %d \n,v);
printf(연결선 갯수 : %d \n,e);
while(1){
ch=fscanf(fp,%d %d,&a[i],&b[i]);
if(ch==eof)
break;
printf(\n %d %d \n,a[i],b[i]);
i++;
}
printf( 0 );
for(i=0;ie;i++){
if(a[i]==0){
a[i]=-1;
func(b[i]);
}
}
fclose(fp);
for(i=0;ie;i++){
free(a[i]);
}
return 0;
}
a,b를 free를 통해 해지시키려는데 자꾸 오류가 뜨네요
왜 그런가요?
-
은율
짝이안맞다는게 무슨뜻이죠?
-
해늘
a = malloc(뭐뭐);
free(a[i]);
짝이 안맞네요.