C中关于声明和定义的说明

  什么是定义,什么是声明

  记住,C语言中的对象必须有且只有一个定义,但它可以有多个extern声明。这里所说的对象跟C++中的对象并无关系,这里的对象只是跟连接器有关的“东西“,比如函数和变量。

  什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。

  什么是声明:有两重含义,如下:

  第一重含义是:告诉编译器,这个名字已经匹配到一块内存上了。

  第二重含义是:告诉编译器,这个名字先预定了,别的地方再也不能使用它来作为变量名或对象名。

  extern 对象声明告诉编译器对象的名字和类型,对象的内存分配则在别处进行。

  定义和声明最重要的区别:定义创建了对象并为这个对象分配内存,而声明没有分配内存。

posted @ 2012-03-16 11:25  leanman  阅读(204)  评论(0)    收藏  举报