extern 就是它的字面意思外部的,不是扩展,如果外部没定义是不能用的,当然还有一个其他用法extern “c”,那个是访问方式。 static 也是字面意思静态的,说明他只初始化一次,只是在他的编译单元内有效,一般就是这个实现文件,其他单元直接访问不到,只能间接访问。