只要是定义的源文件前面函数外面的都是全局变量吧,不一定要在main.c中定义的才是吧

在其他源文件中调用别的源文件中的全局变量,值是按之前的,,,只要是定义的源文件前面函数外面的都是全局变量吧,不一定要在main.c中定义的才是吧

是的,不一定要在main.c中
例如:在a.c中定义全局变量 int num;
在 b.c中需要用到a.c中的num变量在b.c文件的前面加上 extern int num;
告诉编译器num变量实在其它文件中定义的。

定义在函数外面的变量都是全局变量。不限定main.c,也不一定是在前面。
但是跨文件你需要加上extern,否则你找不到。