extern、static、.global的用法
1、extern、static、.global?
extern: 比如要调用另外一个模块的函数foo(),需要extern int foo();,用于导入一个模块使用,由外用到内
global: 用来声明本变量或函数可以被外部调用,由内用到外
static: 改变变量或函数的作用域
2、外部变量和全局变量的区别?
参考链接:https://zhidao.baidu.com/question/1795695107848265667.html
全局变量也称为外部变量,它是在函数外部定义的变量。
它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。外部变量是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。编译时将外部变量分配在静态存储区。 有时需要在其他文件中使用extern来声明外部变量,以扩展外部变量的作用域。 也可用static声明外部变量,使该变量不能被其他文件引用。有时候他们是一样的,只有稍微一点的区别而已,不用太过于区分的
3、c语言是模块化编程的工具