0

Afternoon All,我写了一大段代码,但不能正常工作。我要做的是将数组作为参数传递给函数,因此当我从函数返回时,我可以继续使用该数组。我下面的代码给了我一个 SEG 错误或“非法指令”错误,它是随机的。如果有人可以提供一些建议,如果这是将数组传递给函数的方式。

struct message sMsg[nodeCount];
/* get contents into an array */
getFile(file, sMsg);

void getFile (FILE *file, struct message sMsg*) {
.....
}
4

2 回答 2

3

改变

void getFile (FILE *file, struct message sMsg*) 

void getFile (FILE *file, struct message *sMsg) 

但这不会 SEGFAULT,它是一个编译时错误。

于 2013-10-18T09:42:41.240 回答
3

用以下方式声明函数会更正确,指定第三个参数

void getFile (FILE *file, struct message *sMsg, size_t n );

并将其称为

getFile( file, sMsg, nodeCount ); 
于 2013-10-18T09:50:18.783 回答