我仍在学习 C,并且我知道要摆脱大多数隐式声明警告,您可以在开头添加原型标头。但是当您在代码中使用外部方法时,我对您会做什么感到困惑。
这是我使用外部方法时的代码
#include <stdio.h>
#include <string.h>
int main(void)
{
int arrayCapacity = 10;
int maxCmdLength = 20;
int A[arrayCapacity];
int count = 0; /* how many ints stored in array A */
char command[maxCmdLength + 1];
int n;
while (scanf("%s", command) != EOF)
{
if (strcmp(command, "insert") == 0)
{
scanf("%d", &n);
insert (n, A, arrayCapacity, &count);
printArray(A, arrayCapacity, count);
}
else if (strcmp(command, "delete") == 0)
{
scanf("%d", &n);
delete(n,A,&count);
printArray(A, arrayCapacity, count);
}
else
{
scanf("%d", &n);
printArray(A, arrayCapacity, count);
}
}
return 0;
}
方法printArray
,插入和删除都采用以下形式:printArray.o, insert.o, delete.o
这就是我编译程序的方式:gcc -Wall insert.o delete.o printArray.o q1.c
我收到以下警告:
q1.c: In function âmainâ:
q1.c:20: warning: implicit declaration of function `insert'
q1.c:21: warning: implicit declaration of function `printArray'
q1.c:30: warning: implicit declaration of function `delete'
我已经尝试将它包含在标题中,但我收到错误提示找不到文件或目录。
任何帮助表示赞赏。