VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1080|回复: 8

我是初学者请问声明和定义有什么区别 谢谢

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-11-30 19:30:02 | 显示全部楼层 |阅读模式
我是初学者,经常看到书上一会说声明一会说定义
感觉二者好像差不多,请问有什么区别吗??具体说说,谢谢
回复

使用道具 举报

0

主题

8

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-11-30 19:45:01 | 显示全部楼层
个人的习惯不同差不多,但是使用extern关键字的时候就是声名而不是定义了
回复

使用道具 举报

1

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-11-30 20:15:01 | 显示全部楼层
class a
{
void test(); //声明
}

void a::test() //定义
{
}

声明只是说明有这么一个函数,定义实现这个函数!
回复

使用道具 举报

1

主题

27

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-11-30 23:45:01 | 显示全部楼层
变量的声明,其实就是一个空的东西,在C++中就相当与一个空的指针,它什么也没有指向,没有任何实际的意义。其实也相当与一个对象了,对于一个类里面的东西,无论是函数还是变量,都要通过对象来访问,当然,除静态的除外。所以说,对于内丛中的变量(实际值)是通过声名的对象来调用的
而变量的定义,就不一样了,它是在内丛中指定了一定的空间,如122103,它是有一定的实际意义的,
两个概念是有联系的
回复

使用道具 举报

1

主题

27

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-12-1 00:15:01 | 显示全部楼层
其实就是一般情况下声明是让编译器知道有这个东西,而定义是要给这个东西分配空间
回复

使用道具 举报

0

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-12-1 08:15:01 | 显示全部楼层
定义也是一种声明,
不过定义后就声明了这个东西的内存。。。
回复

使用道具 举报

1

主题

9

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-12-1 09:30:01 | 显示全部楼层
建议你买本c语言的书
看看,比如《c语言参考手册〉
回复

使用道具 举报

0

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-12-1 10:15:01 | 显示全部楼层
声明是说有这个东西,我不分配内存空间给你
定义说明存在这个东西,并且我把空间分配给你
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-12-1 10:30:01 | 显示全部楼层
哈哈  很具体了 谢谢 大家的 帮助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表