C中关于声明和定义的说明
什么是定义,什么是声明
记住,C语言中的对象必须有且只有一个定义,但它可以有多个extern声明。这里所说的对象跟C++中的对象并无关系,这里的对象只是跟连接器有关的“东西“,比如函数和变量。
什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。
什么是声明:有两重含义,如下:
第一重含义是:告诉编译器,这个名字已经匹配到一块内存上了。
第二重含义是:告诉编译器,这个名字先预定了,别的地方再也不能使用它来作为变量名或对象名。
extern 对象声明告诉编译器对象的名字和类型,对象的内存分配则在别处进行。
定义和声明最重要的区别:定义创建了对象并为这个对象分配内存,而声明没有分配内存。

浙公网安备 33010602011771号