什么是声明,什么是定义,这里讲的竟如此清楚

        之前就搞懂了这两个概念,但都讲的不是很清楚或者是讲的不是很好理解。今天翻看了一下C专家编程,里面有关于什么是声明,什么是定义的片段,讲的非常通俗易懂,现在就原本照搬上来。

===================================================

 

        在搞清楚这个问题之前,需要在头脑里重新整理一些基本的C语言术语。记住,C语言中的对象必须有且只有一个定义,但可以有多个extern声明。顺便说一下,这里所说的对象跟C++中的对象并无关系,这里的对象只是跟连接器有关的“东西”,比如函数和变量。

        定义是一种特殊的声明,他创建了一个对象;声明简单地说明了在其他地方创建的对象的名字,它允许你使用这个名字。让我们回顾一下这两个术语:


 

定义        只能出现在一个地方        确定对象的类型并分配内存,用于创建新的对象。例如:int my_array[100];

声明        可以多次出现                 描述对象的类型,用于指代其他地方定义的对象(例如在其他文件里)例:extern int my_array[];


 

 

 

 

 

小启发

 


 

区分定义和声明

 

只要记住下面的内容即可以分清定义和声明:

声明相当于普通的声明:它所说明的并非自身,而是描述其他地方创建的对象。

定义相当于特殊的声明:它为对象分配内存。


 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值