我感觉楼主说的是extern 和static 的区别:
首先是对变量来说,
extern int a 仅是声明一个外部变量;
static int a 定义一个内部变量 。
static 用来修饰局部变量:
1* 可以延长函数的生命周期,知道程序结束才会被销毁
2* 不会改变变量的作用域.
3* 所有的函数都有一个变量b .
static的适用场合:
——某个函数调用频率比较高(省去创建 删除创建删除反复的麻烦)
——函数内部的某个变量的值不变。
其次对函数来说
static 定义一个内部函数,声明一个内部函数。如果省略static,变成默认情况(extern)。
static 定义的属于内部函数不能够被其他文件访问,可以存在同名内部变量在不同的函数中。
extern完整的定义和声明一个外部函数,不能同时存在两个同名字的外部函数,访问冲突。 |