#include stdio.h
#include stdlib.h
unsigned int Node_size;
float Mean_degree;
int (*bin)[2] , i , j , k=0 , l=0;
printf("Node size :?");
scanf("%d",&Node_size);
printf("Mean degree :?");
scanf("%f",&Mean_degree);
bin=(int(*)[2])malloc(sizeof(int)*Node_size*(Node_size-1));
for(i=0;i<Node_size;i++){
for(j=i+1;j<Node_size;j++){
bin[k][l]=i;
l++;
bin[k][l]=j;
l--;
k++;
}
}
for (i=0;i<Node_size*(Node_size-1);i++){
printf("%d ",*(*(bin)++));
}
for(i=0;i<Node_size*(Node_size-1);i++){
free(bin[i]);
}
free(bin);
bin[Node_size*(Node_size-1)][2]
를 동적할당하여 2차원 배열로 사용하였습니다.
처음에는 free(bin)
하나만 사용했다가 문제가 발생하여 free(bin[i])
를 추가한 상태입니다.
그래도 문제가 발생하여 어느 부분에서 잘못된 코드를 사용하였는지 알고 싶습니다.
감사합니다.