社区
C语言
帖子详情
关于类型转换
hba
2003-01-09 12:17:24
static stCard
{
BYTE Id,
BYTE Value1,
BYTE Value2,
BYTE Round
}stData;
long l = (stCard)stData; // 为什么不能强转换??
long* lp = (stCard*)&stData; // 指针就行??
...全文
66
5
打赏
收藏
关于类型转换
static stCard { BYTE Id, BYTE Value1, BYTE Value2, BYTE Round }stData; long l = (stCard)stData; // 为什么不能强转换?? long* lp = (stCard*)&stData; // 指针就行??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
littlechang
2003-01-09
打赏
举报
回复
指针是对地址的,而数据是对数据本身的。
cb615cb
2003-01-09
打赏
举报
回复
你看一下强制转化后的结果就知道了,一个long的数能够转化为结构体吗?
而指针就不一样了,指向结构体的指针还是指针。
sr71x71
2003-01-09
打赏
举报
回复
因为数据类型的定义、创建等,需要数据的完全信息。因此在类型转换时编译器为保证转换正确,需要检测类型信息。你给的例子中,一个是结构体一个是整型因此编译器不允许转换(如果是派生类和基类之间的转换就可以)至于指针因为存储的均是地址(整型),类型一样因此可转换。
ckacka
2003-01-09
打赏
举报
回复
指针转换带有很大的随意性,对数据隐藏和保护有很好的作用。
比如像 MFC 中的
struct _POSITION{
};
typedef _POSITION* POSITION;
它对于任何指向结构体的指针都可以强制转换,而你自己还可以根据你自己的定义方式转换回来,这样,只有你自己知道里面有什么数据。
对于你的程序,long l = (stCard)stData; 应该可以这样
long l = reinterpret_cast<long>(stData);
然后再在合适的地方转换回来,但是应该保证他们的存储大小相同。
hba
2003-01-09
打赏
举报
回复
也就是说我要强转换只能通过转指针的方式了?
Java
类型转换
(自动
类型转换
+强制
类型转换
)
一、 自动
类型转换
(隐式
类型转换
) 整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。 自动转换从低级到高级。 自动转换有以下规律: 1、小的类型自动转化为大的类型 2、整数类型可以自动转化为浮点类型,可能会产生舍入误差 3、字符可以自动提升为整数 示例代码: 隐式
类型转换
int i = 128; double b = i;//128.0 整数类型可以自动转化为浮点类型,可能会产生舍入误差 Float和Double提供了快速的运
C语言
类型转换
-自动
类型转换
、强制
类型转换
、指针
类型转换
数据
类型转换
就是将数据(变量、数值、表达式的结果等)从一种
类型转换
为另一种类型。 自动
类型转换
自动
类型转换
就是编译器默默地、隐式地、偷偷地进行的数据
类型转换
,这种转换不需要程序员干预,会自动发生。 将一种类型的数据赋值给另外一种类型的变量时就会发生自动
类型转换
,例如: float f = 100; 100 是 int 类型的数据,需要先转换为 float 类型才能赋值给变量 f。再如: int n = f; f 是 float 类型的数据,需要先转换为 int 类型才能赋值给变量 n。 在赋值运算中,
C++
类型转换
隐式
类型转换
1 数值
类型转换
2 指针
类型转换
显式
类型转换
1 explicit关键字 1 强制
类型转换
11 static_cast 12 dynamic_cast 13 const_cast 14 reinterpret_cast 参考资料 C++
类型转换
大体上包括隐式
类型转换
和显式
类型转换
。1. 隐式
类型转换
隐式
类型转换
是自动执行的,无需显式的操作符。 隐式
类型转换
发生在很多地方,比如函数
C++四种强制
类型转换
文章目录1 C++
类型转换
本质1.1 自动
类型转换
(隐式)1.2 强制
类型转换
(显式)1.3
类型转换
的本质1.4
类型转换
的安全性2 四种
类型转换
运算符2.1 C语言的强制
类型转换
与C++的区别3 static_cast4 reinterpret_cast5 const_cast6 dynamic_cast6.1 向上转型(Upcasting)6.2 向下转型(Downcasting) 1 C++
类型转换
本质 1.1 自动
类型转换
(隐式) 利用编译器内置的转换规则,或者用户自定义的转换构造函数以及
类型转换
政府科技管理人员如何通过产业大脑实现产业政策精准匹配与兑现?.docx
政府科技管理人员如何通过产业大脑实现产业政策精准匹配与兑现?
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章