C语言定义全局变量

我听说用extern也可定义全局变量,那么这跟在main()外定义它有何区别
extern 不是定义全局变量,而是声明全局变量,定义和声明请不要混淆。
用extern定义的全局变量可以放在另一个文件中