C++中定义与声明

定义一定是声明,声明不一定是定义:

比如int a;

这是一个定义,同时也是一个声明,声明a是一个整型变量,同时为a分配内存单元。

声明和定义的本质区别在于是否为变量分配了内存空间,就像上面的例子

定义了一个变量a,因为为a分配了内存空间;

同时也是对a的声明,声明a是一个int变量;


举个是声明不是定义的例子:

extern int a;

这就是一个声明,而不是定义,声明a在文件的其他地方,语句不会给a分配内存空间;

但如果

extern int a=1;

这就是一个定义,不仅仅是一个声明,因为为a分配了内存空间,并且进行了复制初始化。

发布了32 篇原创文章 · 获赞 6 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/scutth/article/details/6938283