c语言中结构体数组传入函数

2024-11-28 04:16:35
推荐回答(5个)
回答1:

trans(node);                                       //改成trans(node);

void trans(struct linknode node[8])
{int o,i,m;
for(o=0;o<8;o++)
   {for(i=0;i<2;i++)
     {m=node[o].near[i];
      for(i=0;i<8;i++)
          {if((node[m].dtc[i]+node[o].dtc[m])<=node[o].dtc[i])
              {node[o].dtc[i]=(node[m].dtc[i]+node[o].dtc[m]);
              node[o].path[i]=m;
              }
          }
      }
   }
}

回答2:

吧 node 传入 函数中就行了 node代表的是结构体数组的首地址
然后再用 node【n】 来对n个结构体操作
node【n】。xx = ? 就可以 对第n个结构体下的xx字段 进行更改了
这个思路希望对你有启发

回答3:

linknode *p,int n呗,
调用的时候函数实参写(node,8)就行了

回答4:

语句
trans(node[8]);
改成这样试试:
trans(node);

回答5:

fun(linknode* node, int len) 前面是传数组头指针进去,后面是数组长度