extern
可以声明变量a是一个整数,这符合上面的逻辑。但这就产生了一个矛盾:这段代码有足够的信息让编译器为整数a分配空间,而且编译器也确实给整数a分配了空间。要解决这个矛盾,对于C/C++需要一个关键字来说明“这只是一个声明,它的定义在别的地方”。这个关键字就是extern,它表示变量是在文件以外定义的,或在文件后面部分才定义。 在变量定义前加extern关键字表示声明一个变量但不定义它,例如:
可以声明变量a是一个整数,这符合上面的逻辑。但这就产生了一个矛盾:这段代码有足够的信息让编译器为整数a分配空间,而且编译器也确实给整数a分配了空间。要解决这个矛盾,对于C/C++需要一个关键字来说明“这只是一个声明,它的定义在别的地方”。这个关键字就是extern,它表示变量是在文件以外定义的,或在文件后面部分才定义。 在变量定义前加extern关键字表示声明一个变量但不定义它,例如: