extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇刭此变量和函数时在其他模块中寻找其定义
static:静态变量
//1、静态变量
static int a = 10; / /特点:只初始化一次,在编译阶段就分配内存,属于内部链接属性,只能在当前文件中使用
静态变量分为全局静态变量和局部静态变量
全局静态变量写在和头文件、命名空间类似的位置,他的作用域是当前这个文件
局部静态变量是写在某个函数里。作用域是单签这个函数
全局变量写在头文件、命名空间类似的位置,写的int a=10;在系统中会默认在前面写一个extern
extern int a = 10;默认外部链接
int a = 10;1/全局区
静态全局变量是内部链接
static int b = 20; //静态区
内部链接和外部链接有什么区别?
1.如果变量是内部链接的话,那么此变量只能在当前文件内访问
2.如果是变量是外部链接的话,那么此变量可以被其他文件使用