[应用相关] 强制转换

[复制链接]
1076|16
 楼主| chenho 发表于 2019-5-5 21:48 | 显示全部楼层 |阅读模式

往内存某地址比如0X12FF7C写数据0X100

int*p = (int*)0x12ff7c;
*p=0x100;

如果写成
int*p;
p=0x12ff7c;
*p=0x100;

即p= (int*)0x12ff7c;这句的强制转换不强制转换了会有什么结果呢?
gongche 发表于 2019-5-5 21:51 | 显示全部楼层
避免警告或错误,取决于具体的编译器
songqian17 发表于 2019-5-5 21:54 | 显示全部楼层

这个是取决于编译器的,一般情况下编译器都默认为int型
huwr 发表于 2019-5-5 21:56 | 显示全部楼层
你不转换也没关系,编译器会帮你强制转换。
happy_10 发表于 2019-5-5 22:00 | 显示全部楼层
最好进行强制转换,是个好习惯。
bqyj 发表于 2019-5-5 22:03 | 显示全部楼层
强制转换是为了明确的通知编译器, 以免编译器迷糊。
wenfen 发表于 2019-5-5 22:05 | 显示全部楼层
用强制转换明确的通知编译器:这不是一个笔误!!!!
zhuhuis 发表于 2019-5-5 22:08 | 显示全部楼层

int*p;
p=0x12ff7c;
*p=0x100;
我认为p=0x12ff7c;这一句编译都通不过啊,在语法上就是错误的
tian111 发表于 2019-5-5 22:11 | 显示全部楼层

将int类型的数据赋值给指针类型的数据,在语法上是错误的
zwll 发表于 2019-5-5 22:15 | 显示全部楼层
没有什么问题的
chuxh 发表于 2019-5-5 22:18 | 显示全部楼层
优点   第一  告诉编译器你想要的数据类型   
juventus9554 发表于 2019-5-5 22:21 | 显示全部楼层

程序能够正常执行的。
stly 发表于 2019-5-5 22:24 | 显示全部楼层
节省时间   提高程序执行速率
llljh 发表于 2019-5-5 22:27 | 显示全部楼层

定义的地址都是一样的。
pengf 发表于 2019-5-5 22:31 | 显示全部楼层

这个就是强制转换的类型而已
renyaq 发表于 2019-5-5 22:35 | 显示全部楼层
编译器会帮你强制转换
 楼主| chenho 发表于 2019-5-5 22:38 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先        
您需要登录后才可以回帖 登录 | 注册

本版积分规则

748

主题

9853

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部