static和extern的作用分为对函数的作用和对变量的作用。
一, 对函数的作用:
static:1,完整的定义一个内部函数。2,完整的声明一个内部函数。
在一个函数的返回值前面加一个static修饰的时候,该函数是一个内部函数。内部函数只能被本文件调用,不同的文件中可以有同名的内部函数存在。
extern:1,完整的定义一个外部函数。2,完整的声明一个内部函数。
在一个函数的返回值前面加一个extern修饰,该函数就是一个外部函数,外部函数可以被本文件调用,也可以被其他文件调用,默认所有的函数都是外部函数,一般情况下,外部函数的extern可以省略不写。不同的文件中不能有同名的外部函数存在。
二,对变量的作用:
变量分为全局变量和局部变量。
全局变量又分为两种变量:1,外部变量,能够被本文件和其他文件访问,默认情况下所有的全局变量都是外部变量,不同文件中的同名外部变量代表一个变量。2,内部变量,只能被本文件访问的变量是内部变量,不同文件中允许有同名的内部变量存在。
static对全局变量的作用,定义一个内部变量。
static对于局部变量的作用,延长了局部变量的生命周期,在程序结束的时候,局部变量才会被销毁,变量的作用域并不会被改变。
extern对全局变量的作用,声明一个外部变量。 |
|