×

基于C语言深度解剖

消耗积分:0 | 格式:rar | 大小:1.45 MB | 2017-10-23

分享资料个

  哪个是定义?哪个是声明?或者都是定义或者都是声明?我所教过的学生几乎没有一

  人能回答上这个问题。这个十分重要的概念在大学里从来没有被提起过!

  什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它

  取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和

  这块内存匹配起来(可以想象是这个名字嫁给了这块空间,没有要彩礼啊。^_^),它们就同

  生共死,终生不离不弃。并且这块内存的位置也不能被改变。一个变量或对象在一定的区

  域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义

  同一个变量或对象。

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

  第一重含义:告诉编译器,这个名字已经匹配到一块内存上了(伊人已嫁,吾将何去何

  从?何以解忧,唯有稀粥),下面的代码用到变量或对象是在别的地方定义的。声明可以出

  现多次。

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

  名或对象名。比如你在图书馆自习室的某个座位上放了一本书,表明这个座位已经有人预

  订,别人再也不允许使用这个座位。其实这个时候你本人并没有坐在这个座位上。这种声

  明最典型的例子就是函数参数的声明,例如:

  void fun(int i, char c);

  好,这样一解释,我们可以很清楚的判断:A)是定义;B)是声明。

  那他们的区别也很清晰了。记住,定义声明最重要的区别:定义创建了对象并为这

C语言深度解剖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !