static
1.修饰局部或者全局变量只能在当前的文件中使用
而不能在其它文件中使用
2.修饰的变量只会执行一次,并且是在所以函数执行前
3.修改的变量的值是在内存静态区开辟的空间和存储
extern
1.修饰的全局变量,表示当前变量可以在文件中使用,
也可以在不同的文件中使用
2.不能修饰局部变量,必须是全局的
#include <stdio.h>
#include <stdlib.h>
static int Age = 18;
extern int Male = 1;
int main(){
static double PI = 3.14;
//这种写法是不正确的,它的目的就是在多个文件中可以使用
//它会报异常:'f' has both 'extern' and initializer
//extern float f = 1.0f;
printf("Age=%d,Male=%d \n",Age,Male);
system("pause");
return 0;
}