动态分配2维结构数组错误

时间:2013-11-11 19:20:49

标签: c

我在以下功能中遇到问题。我正在尝试创建一个二维结构数组并为它们分配一些值。但我得到一个错误,说“在* *括号内的行上从类型'void *'分配类型'struct CoordNode'时出现”不兼容的类型“。谢谢。

struct CoordNode
{
  double coordX;
  double coordY;
  double coordZ;
  char atomName[3];   
};
void parseCrdList()
{
  int resNum=1;
  int tAtomNum,i;
  char *tcoordX, *tcoordY, *tcoordZ, *tatomName, *tresNum; 
  ccur_node=headCoord_node;  
  struct CoordNode **t;
  t=(struct CoordNode **)malloc(numofRes*sizeof(struct CoordNode *));
  for (i=1;i<=numofRes;i++)
    {
      tAtomNum=0;
      while(i==resNum)
    {
          memmove(tresNum,ccur_node->crdRow+26,4);
          resNum=atoi(tresNum);
      **t[i-1][tAtomNum]=malloc(sizeof(struct CoordNode));**
          memmove(tcoordX,ccur_node->crdRow+35,7);
          memmove(tcoordY,ccur_node->crdRow+43,7);
          memmove(tcoordZ,ccur_node->crdRow+51,7);
          memmove(tatomName,ccur_node->crdRow+17,3);
          t[i-1][tAtomNum].coordX=strtod(tcoordX,NULL);
          t[i-1][tAtomNum].coordY=strtod(tcoordY,NULL);
          t[i-1][tAtomNum].coordZ=strtod(tcoordZ,NULL);
          t[i-1][tAtomNum].atomName=malloc(4*sizeof(char));
          strcpy(t[numofRes-1][tAtomNum],tatomName);
          old_ccur_node=ccur_node;
          ccur_node=ccur_node->next;
          free(old_ccur_node);
          tAtomNum++;
          if (ccur_node==NULL)
        break;
    }
      if (maxAtomNum<tAtomNum)      
    maxAtomNum=tAtomNum+1;
    }
    addCoordData(t);
}

0 个答案:

没有答案