声明和定义的区别
声明是告诉编译器有这么个变量,但并不实现。
定义就是实现这个变量,真正在内存(堆或栈中)为此变量分配空间
《c++Primer》第四版 2.3.5节中这么说到:
①变量定义:用于为变量分配存储空间,还可为变量指定初始值。
程序中,变量有且仅有一个定义。
②变量声明:用于向程序表明变量的类型和名字。
③定义也是声明:当定义变量时我们声明了它的类型和名字。
④extern关键字:通过使用extern关键字声明变量名而不定义它。
声明是告诉编译器有这么个变量,但并不实现。
定义就是实现这个变量,真正在内存(堆或栈中)为此变量分配空间
《c++Primer》第四版 2.3.5节中这么说到:
①变量定义:用于为变量分配存储空间,还可为变量指定初始值。
程序中,变量有且仅有一个定义。
②变量声明:用于向程序表明变量的类型和名字。
③定义也是声明:当定义变量时我们声明了它的类型和名字。
④extern关键字:通过使用extern关键字声明变量名而不定义它。