什么是定义,什么是声明
记住,C语言中的对象必须有且只有一个定义,但它可以有多个extern声明。这里所说的对象跟C++中的对象并无关系,这里的对象只是跟连接器有关的“东西“,比如函数和变量。
什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。
什么是声明:有两重含义,如下:
第一重含义是:告诉编译器,这个名字已经匹配到一块内存上了。
第二重含义是:告诉编译器,这个名字先预定了,别的地方再也不能使用它来作为变量名或对象名。
extern 对象声明告诉编译器对象的名字和类型,对象的内存分配则在别处进行。
定义和声明最重要的区别:定义创建了对象并为这个对象分配内存,而声明没有分配内存。
原文链接: https://www.cnblogs.com/leanman/archive/2012/03/16/2399924.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/44374
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!