C语言中,全局变量和外部变量有什么区别!
外部变量也是全局变量,被定义成外部变量是指这个变量没有在当前代码中,而是在另一个代码或二进制文件中。比如我在a.c中定义了变量myvar,还有一个文件b.c,它要用a.c中的myvar,这就要让b.c知道myvar怎么定义的,有两种方法,一种是include a.c,但一般不这么做;还有一种方法是在b.c中也定义myvar,这个定义和a.c中一样,但是外部的(extern)。其实大部分时候是在a.h中声明(declare)extern myvar,然后在a.c中定义(define)myvar。b.c要用时include a.h就可以了
外部变量是全局变量,它没在当前的代码中定义
全局变量为非static的变量,并不在函数中