- 论坛徽章:
- 0
|
static 和 extern 修饰局部变量
static修饰局部变量:
作用:1)static定义的变量的作用域会得到延长
2) static定义变量的语句只会被执行一次
extern不能够修饰局部变量的- void test (int num)
- {
- static int n = 0;
- printf("%d",n);
- n++;
- }
- int main()
- {
- test(); // 输出结果为0
- test(); // 输出结果为1
- test(); // 输出结果为2
- }
复制代码 static 对全局变量的作用(内部变量)
static修饰的全局变量,表示该全局变量只能在当前文件中使用,而不能在其他文件中使用
在不同的文件中,使用static可以声明的同名的变量
extern 对全局变量的作用
extern修饰的全局变量,表示当前变量可以在本文件中使用,也可以在
其他文件中使用
extern声明的全局变量在不同的文件中不能同名(两个文件须由包含关系)
static 和 extern对函数的作用
static 修饰的函数,是一个内部函数(只能在定义的那个文件中去使用)
extern 声明的函数,可以在定义文件中使用,也可以在其他文件中使用 |
|