c语言中结构体数组传入函数
发布网友
发布时间:2022-04-20 01:19
我来回答
共5个回答
热心网友
时间:2023-07-11 08:05
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;
}
}
}
}
}
热心网友
时间:2023-07-11 08:05
吧 node 传入 函数中就行了 node代表的是结构体数组的首地址
然后再用 node【n】 来对n个结构体操作
node【n】。xx = ? 就可以 对第n个结构体下的xx字段 进行更改了
这个思路希望对你有启发追问trans(node[8]); //系统提示我这行有错
101 incompatible type for argument 1 of `trans' // 这是错误原因
追答trans(node[8]); 改成trans(node);
热心网友
时间:2023-07-11 08:06
linknode *p,int n呗,
调用的时候函数实参写(node,8)就行了
热心网友
时间:2023-07-11 08:06
语句
trans(node[8]);
改成这样试试:
trans(node);
热心网友
时间:2023-07-11 08:07
fun(linknode* node, int len) 前面是传数组头指针进去,后面是数组长度