社区
C语言
帖子详情
声明与定义的不同?
blackempire
2009-04-17 01:31:08
struct apple;
struct apple;
没有错。
但是
struct apple
{
};
struct apple
{
};
却有错,为什么?
...全文
110
6
打赏
收藏
声明与定义的不同?
struct apple; struct apple; 没有错。 但是 struct apple { }; struct apple { }; 却有错,为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liliangbao
2009-04-17
打赏
举报
回复
[Quote=引用 4 楼 zmlovelx 的回复:]
你可以叫一个人的名字好几次,但是不能生一个人好几次.
[/Quote]
houhou,up
xiaocha
2009-04-17
打赏
举报
回复
声明是告诉编译器存在某个类型,而定义是告诉编译器这个类型的精确内容
声明可以多次,定义只能一次
就像你多次说有种东西叫apple,但什么是apple却只能有唯一的解释("定义")
帅得不敢出门
2009-04-17
打赏
举报
回复
你可以叫一个人的名字好几次,但是不能生一个人好几次.
sherrik
2009-04-17
打赏
举报
回复
已经是重定义struct apple了,会导致二义性,所以不能出现重定义。
sagegz
2009-04-17
打赏
举报
回复
结构体只能够定义一次,但声明可以多次.
wangyadong
2009-04-17
打赏
举报
回复
因为你重定义了结构体apple
声明可以多次,定义只能一次
声明
与
定义
的
不同
本文详细解析了C++中变量的
声明
、
定义
、初始化和赋值的区别,包括
声明
的语法、规则、限制,以及如何使用const和volatile关键字
声明
变量。文章还深入探讨了复杂
声明
的规则和类型判断,通过实例解释了
声明
与
定义
的区别,以及
声明
的复杂形式。最后,文章总结了变量
声明
、
定义
、初始化和赋值的要点,旨在帮助开发者更好地理解和运用C++的变量管理。
关于
不同
文件,结构体的
定义
与
声明
本文探讨了在C/C++编程中如何处理结构体的
声明
和
定义
,特别是涉及跨头文件使用的情况。错误的方法是在一个头文件中使用在另一个头文件中typedef的结构体别名。正确的方法是直接在需要使用结构体的头文件中
声明
或
定义
结构体。文章对比了
声明
方法和直接
定义
法,并指出直接
定义
法虽然简单,但在某些场景下不如
声明
法灵活。
c++中函数模板和类模板的
声明
与
定义
实现放在
不同
的文件
本文探讨了C++中函数模板和类模板为何需要
声明
与
定义
一同放置的原因,避免链接错误。并介绍了两种解决方法:一是直接在使用模板的源文件中包含模板
定义
;二是通过在模板
定义
文件末尾显式实例化特定模板类型。
Rust编程入门实战
不同
的的变量
声明
与
定义
本文介绍了Rust编程语言中变量的
声明
与
定义
方式,包括let关键字的使用、变量不可变性的特点以及如何通过mut关键字使变量可变。文章还讲解了Rust的变量绑定机制、模式解构功能及编译器对变量初始化的静态分析,帮助开发者更好地理解和应用Rust的变量系统。
define
定义
的是什么类型_typedef与define
声明
有何
不同
?
本文通过具体的示例对比了C语言中typedef与define在
声明
复杂类型时的
不同
行为,并详细解析了两者在预处理阶段及编译阶段的处理差异。
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章