test.c
#include <stdio.h>
int number = 1;
int getNum(int num){
num = num + 1;
return num;
}
int getNum2(int num){
number = number + num;
return number;
}
main.c
#include <stdio.h>
extern int getNum(int num);
extern int getNum2(int num);
extern int number;
int main(){
getNum(number);
number = number + 1;
int y = getNum(number);
printf("%d\n" ,y);
int x = getNum2(number);
printf("%d\n" ,x);
}
相应输出:
pateo@pateo-B86N53X:~/work/study$ cc main.c test.c -o main
pateo@pateo-B86N53X:~/work/study$ ./main
3
4
总结
如果一个变量或一个函数在一个文件中没有static,那么其他文件就可以通过extern来引用该文件
如果extern针对的是一个变量,那么其它文件则可以改变这个值