对函数:
extern的作用:
完整的定义外部函数 (可以被外部文件调用)
完整的声明外部函数
但是默认情况下,所有的函数都是外部函数,所以可以省略
static的作用
定义内部函数(只能在本文件调用,其他文件无法无法调用)
声明内部函数
不可省略
对变量
extern的作用:
声明外部变量
定义外部变量不加extern
(默认情况下,所有的全局变量都是外部变量,所以可以省略)
static的作用
定义内部变量
static 修饰的局部变量,
生命周期变长,程序结束时销毁
但是它的作用域并没有改变
对性能优化有益,经常使用的变量可以如此定义
比如说
你在一个函数里用static 定义了一个变量,下次调用该函数时,会保留上次的值,这样定义的变量,也叫静态变量,好处就是:调用时不用频繁的开辟存储空间,也可以利用上次调用的值
这是我自己的一些理解,希望对你有帮助 |