|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求大神帮忙 int i= *(int *)&x这行代码是什么意思
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
4024
人关注过本帖
标题:
求大神帮忙 int i= *(int *)&x这行代码是什么意思
只看楼主
加入收藏
sefeeee
等 级:
论坛游民
帖 子:11
专家分:25
注 册:2015-2-9
结帖率:
0
楼主
收藏
已结贴
√
问题点数:20 回复次数:8
求大神帮忙 int i= *(int *)&x这行代码是什么意思
float x=1.1f;
int i= *(int *)&x;
//这行代码是什么意思
2015-02-25 17:57
举报帖子
使用道具
赠送鲜花
猫林heart
等 级:
职业侠客
威 望:
1
帖 子:60
专家分:390
注 册:2014-9-26
第
2
楼
收藏
得分:5
int i= *(int *)&x; 将变量x的地址强制转换为“指向整型的指针”,然后对其进行间接访问。
2015-02-25 18:56
举报帖子
使用道具
赠送鲜花
sefeeee
等 级:
论坛游民
帖 子:11
专家分:25
注 册:2015-2-9
第
3
楼
收藏
得分:0
回复 2楼 猫林heart
我感觉不是 如果说是这种情况的话。类似int i = (int)x;
但是i 不等于1呀
2015-02-25 19:14
举报帖子
使用道具
赠送鲜花
longwu9t
等 级:
小飞侠
威 望:
6
帖 子:732
专家分:2468
注 册:2014-10-9
第
4
楼
收藏
得分:5
对int类型的变量i定义并赋值
其运算顺序按运算的优先级为
先对float类型的变量x通过&取地址运算符来取x的地址
得到了指向x变量的指针变量的值
再对&x这个float*类型指针变量的值进行强制类型转换为int*的指针变量的值
再通过*取值运算符求(int*)&x这个指针变量指向的int类型的值
最后通过=赋值运算符赋值给i
真是一种很foo的赋值操作
你是不是想做这样的操作
i = (int)x
Only the Code Tells the Truth K.I.S.S
2015-02-25 19:15
举报帖子
使用道具
赠送鲜花
sefeeee
等 级:
论坛游民
帖 子:11
专家分:25
注 册:2015-2-9
第
5
楼
收藏
得分:0
回复 4楼 longwu9t
你说的这种情况我也想到过,但是运行的结果不对。按这种思维去运行的结果i=1.但是i不等于1
2015-02-25 19:35
举报帖子
使用道具
赠送鲜花
longwu9t
等 级:
小飞侠
威 望:
6
帖 子:732
专家分:2468
注 册:2014-10-9
第
6
楼
收藏
得分:0
推荐楼主看一下这篇网文 http://www.
其实与C语言关系不大
用C的时候只记住不要写这样的代码就行了
float
x=
1.1f
;
int
i= *(
int
*)&x;
//
这行代码是什么意思
Only the Code Tells the Truth K.I.S.S
2015-02-25 19:37
举报帖子
使用道具
赠送鲜花
sefeeee
等 级:
论坛游民
帖 子:11
专家分:25
注 册:2015-2-9
第
7
楼
收藏
得分:0
回复 6楼 longwu9t
行,谢谢你了。
2015-02-25 20:44
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
8
楼
收藏
得分:5
以下是引用
longwu9t
在2015-2-25 19:37:20的发言:
用C的时候只记住不要写这样的代码就行了
太多人喜歡寫這類代碼了,以爲繞了又繞就是深刻理解C語言。
授人以渔,不授人以鱼。
2015-02-25 22:34
举报帖子
使用道具
赠送鲜花
诸葛欧阳
来 自:流年
等 级:
贵宾
威 望:
82
帖 子:2790
专家分:14619
注 册:2014-10-16
第
9
楼
收藏
得分:5
同意楼上,能用简单明白的代码写出就不要绕来绕去
一片落叶掉进了回忆的流年。
2015-02-26 11:41
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
求大神帮忙 int i= *(int *)&x这行代码是什么意思
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.016418 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved