多文件

将代码分布在不同的文件中,可以减小代码文件的体积,方便进行模块化, 阅读与排错

extern 关键字

可以理解成变量或者函数的可见性, 一般函数的可见性是全局的,变量的可见性为本文件,如果要让其他文件或者外部使用,需要加上extern扩展其可见性

extern 用于变量或者函数的声明

声明(Declaration),就是告诉编译器我要使用这个变量或函数,你现在没有找到它的定义不要紧,请不要报错, 稍后会把定义补上

函数的定义有函数体,函数的声明没有函数体,编译器很容易区分定义和声明,所以对于函数声明来说,有没有 extern 都是一样的

变量和函数不同,编译器只能根据 extern 来区分,有 extern 才是声明,没有 extern 就是定义

static 关键字

static 表示静态的变量,限制此变量作用域在一个源文件内,其他文件不能用extern来引用此变量,不仅适用于变量,函数也可以

extern 与 include 区别

  • include相当于把include .h文件直接带入到本源文件里,比如在b.c文件里include “a.h”,就相当于把a.h文件里所有定义的变量和函数全部拷贝了一份放入了b.c里
  • 一个项目里,一个.h文件可能会被多个.c源文件包含,这样编译的时候就会报重复定义的错误。
文档更新时间: 2021-03-08 11:49   作者:周国强