我有一个名为first.c的C文件,我在其中定义一个数组并调用一个在名为second.c的C文件中定义的函数。这就是first.c的样子:
int main(void)
{
int array[100];
myFunc(*array);
}
另一方面,second.c看起来像这样:
void myFunc(int array)
{
...
}
但是当我尝试编译这些时,second.c给了我错误,好像它不知道我作为参数传递给它的函数的数组。我想这个功能在链接阶段并不知道。我这样编译:
gcc -O2 -std=c99 -Wall -pedantic -lm second.c -c
gcc -O2 -std=c99 -Wall -pedantic first.c -c
gcc second.o first.o -o finished
但这就是我想出来的,当然它不起作用。我猜Makefile会到位,但我不确定如何实现它。
答案 0 :(得分:4)
您的问题可能在于收到的值不是指针 - 因此将myFunc(int array)
更改为void myFunc(int* array)
。