一场很纠结,区分不开变量的声明与定义。
定义:用于为变量分配存储空间,还可以为变量指定初始值。
声明:用于像程序表明变量的类型和名字。
extern:只是说明,这个变量的定义在其他地方。
我觉得,首先得有一个定义,给这个变量分配内存后,才能向各处声明,别的地方再继续使用这个变量。
比如:
extern int i;
void main()
{
i = 0;
}
这样的编译的时候可以通过,但是连接找不到这个i的变量,所以会报错。
一场很纠结,区分不开变量的声明与定义。
定义:用于为变量分配存储空间,还可以为变量指定初始值。
声明:用于像程序表明变量的类型和名字。
extern:只是说明,这个变量的定义在其他地方。
我觉得,首先得有一个定义,给这个变量分配内存后,才能向各处声明,别的地方再继续使用这个变量。
比如:
extern int i;
void main()
{
i = 0;
}
这样的编译的时候可以通过,但是连接找不到这个i的变量,所以会报错。