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;
}
}
}
}
}
吧 node 传入 函数中就行了 node代表的是结构体数组的首地址
然后再用 node【n】 来对n个结构体操作
node【n】。xx = ? 就可以 对第n个结构体下的xx字段 进行更改了
这个思路希望对你有启发
linknode *p,int n呗,
调用的时候函数实参写(node,8)就行了
语句
trans(node[8]);
改成这样试试:
trans(node);
fun(linknode* node, int len) 前面是传数组头指针进去,后面是数组长度