在C程序中,当我在main.c文件中定义了一组全局变量时,如何在不同.c文件中定义的函数中使用它们的值?例如,使用 gcc -o my_prog main.c foo.c 编译时,以下文件会引发以下错误:
foo.c: In function ‘foo’:
foo.c:5:9: error: ‘b’ undeclared (first use in this function)
的main.c
#include <stdio.h>
#include "foo.h"
int b=4;
int main(void)
{
int y = foo(3); /* Use the function here */
printf("%d\n", y);
return 0;
}
foo.c的
#include "foo.h"
int foo(int x) /* Function definition */
{
return x + b;
}
foo.h中
#ifndef FOO_H_ /* Include guard */
#define FOO_H_
int foo(int x); /* An example function declaration */
#endif // FOO_H_
我们如何解决这个问题?