下午全部, 我写了一大堆代码无法正常工作。我想要做的是将数组作为参数传递给函数,所以当我从函数返回时,我可以继续使用数组。我的下面的代码给了我一个SEG错误或'非法指令'错误,它是随机的。如果这是将数组传递给函数的方式,那么有人可以给出一些补充。
struct message sMsg[nodeCount];
/* get contents into an array */
getFile(file, sMsg);
void getFile (FILE *file, struct message sMsg*) {
.....
}
答案 0 :(得分:3)
更改
void getFile (FILE *file, struct message sMsg*)
到
void getFile (FILE *file, struct message *sMsg)
但这不会是SEGFAULT,它是编译时错误。
答案 1 :(得分:3)
更正确以下列方式声明函数指定第三个参数
void getFile (FILE *file, struct message *sMsg, size_t n );
并将其命名为
getFile( file, sMsg, nodeCount );