void MergeSort(int (*k)[6],double *l, double *m, int left, int right)
{
 int len = right - left;
 int mid = (right + left) / 2;
 double *sort=NULL;
 double *sort3=NULL;
 int (*sort2)[6]=NULL;
 int lef = left;
 int rig = mid + 1;
 int i = 0;
 int j,ii;
 if (len <= 0)
 {
  return;
 }

 MergeSort(k,l,m, left, mid);
 MergeSort(k,l,m, mid + 1, right);

 sort = (double*)calloc((len + 2),sizeof(double));
 sort3 = (double*)calloc((len + 2),sizeof(double));
 sort2 = (int(*)[6])calloc((len + 2),sizeof(int[6]));
 while (lef <= mid&&rig <= right)
 {
  if (m[lef] <= m[rig])
  {
   sort[i] = m[rig];
   sort3[i] = l[rig];
   for (j = 0; j < 6; j++)
   {
    sort2[i][j] = k[i][j];
   }
   rig++;
  }
  else
  {
   sort[i] = m[lef];
   sort3[i] = l[rig];
   for (j = 0; j < 6; j++)
   {
    sort2[i][j] = k[i][j];
   }
   lef++;
  }
  i++;
 }
 while (lef <= mid)
 {
  sort[i] = m[lef];
  sort3[i] = l[rig];
  for (j = 0; j < 6; j++)
  {
   sort2[i][j] = k[i][j];
  }
  i++;
  lef++;
 }
 while (rig <= right)
 {
  sort[i] = m[rig];
  sort3[i] = l[rig];
  for (j = 0; j < 6; j++)
  {
   sort2[i][j] = k[i][j];
  }
  i++;
  rig++;
 }
 for (j = 0; j < i; j++)
 {
  m[left] = sort[j];
  l[left] = sort3[j];
  for (ii = 0; ii < 6; ii++)
  {
   sort2[left][ii] = k[j][ii];
  }
  left++;
 }
 free(sort);
 free(sort2);
 free(sort3);
}


=============================================

free(sort2) 부분에서 에러가 나는것 같은데....

휴대폰으로 돌려보면 difree라고 뜨는데...

지나가는 말 한마디라도 부탁드립니다 ㅠㅠ