[Quote=引用 4 楼 luoyunying 的回复:]
引用 1 楼 akirya 的回复:
int x;这是变量定义,不能多次
extern int x;这是变量声明,可以有N次.但必须只能有一次变量定义.
至于函数,实现只能出现一次,声明可以有N次.
还是没有我想听的 extern int x;这是变量声明,可以有N次(我声明N次做什么?).但必须只能有一次变量定义(在全局定义就是全局变量?在局部定义就是局部变量?我定义了还可以赋值?)
至于函数,实现只能出现一次,声明可以有N次(我声明…
[/Quote]
extern int x;没有听说过,除非你的程序只有一个cpp/c文件
如果是一个工程,多个源文件,那么如果在1.cpp中定义 int x; 如果2.cpp要访问它怎么办呢? 一般是 在头文件1.h中声明:extern int x;
在2.cpp中使用#include "1.h",这样就避免重复定义,因为int x是定义,为x分配了内存空间,extern int x 只是纯声明,不分配内存空间