搜索
bottom↓
回复: 16
打印 上一主题 下一主题

跟大家请教一下(int)( *( ( int * ) &a ) )

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2013-11-22 14:34:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,我这里使用的环境是:long是32位的,而int是16位的。
==================================
unsigned long a;
a = a - (unsigned int)(*(( unsigned  int *)&a)) ;
==================================
求解释这个(int)( *( ( int * ) &a ) ) ,到底是一个什么样子的变量。
真心求解,这个问题困扰我很久了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

2
 楼主| 发表于 2013-11-22 14:34:39 | 只看该作者
自己顶一下

出0入0汤圆

3
发表于 2013-11-22 14:49:52 | 只看该作者
耐心看完這篇文章,你就懂了。
Everything you need to know about pointers in C

出0入0汤圆

4
发表于 2013-11-22 14:50:10 | 只看该作者
转成了 uint *指针后取值, 还要强转一次uint 这不是破来一次后还要破的节奏麽..

出0入0汤圆

5
发表于 2013-11-22 15:16:39 | 只看该作者
这个是么子意思?
自个玩自个?
楼主你这句话从哪弄过来的,还是你就想弄懂这是什么意思?还是想要干嘛,你的目的是?

出0入0汤圆

6
发表于 2013-11-22 15:18:19 | 只看该作者
一步一步来么。
(int)( *( ( int * ) &a ) )
&a : 取a的地址, 即得到一个指向long类型的指针。
( int * ) &a : 强制转换指针类型 , 将一个指向long类型的指针,强制转换为指向int类型的指针。
*( ( int * ) &a ) :取数据, 取出指向int类型的指针,所指向的数据。
(int)( *( ( int * ) &a ) )  :强制转换数据类型, 强制转换数据类型为 int型。 按理说这步可以不要么,前面一步已经是取int指针指向的数据了,出来肯定是int型的数据。

出0入0汤圆

7
 楼主| 发表于 2013-11-22 15:18:48 | 只看该作者
kinsno 发表于 2013-11-22 15:16
这个是么子意思?
自个玩自个?
楼主你这句话从哪弄过来的,还是你就想弄懂这是什么意思?还是想要干嘛,你 ...

这个问题其实应该和我刚才发的另一个帖子放在一起,只是今天一整天都昏沉沉的。
孔子说过:中午不睡,下午崩溃。另一个帖子是:
http://www.amobbs.com/forum.php? ... p;page=1#pid7135733

出0入0汤圆

8
 楼主| 发表于 2013-11-22 15:19:37 | 只看该作者
qlb1234 发表于 2013-11-22 14:49
耐心看完這篇文章,你就懂了。
Everything you need to know about pointers in C

好,我会留着仔细看的。

出0入0汤圆

9
 楼主| 发表于 2013-11-22 15:21:09 | 只看该作者
关于以后 发表于 2013-11-22 15:18
一步一步来么。
(int)( *( ( int * ) &a ) )
&a : 取a的地址, 即得到一个指向long类型的指针。

我是参考的一个工程师写的代码,它用这种方法获得了逐次逼近目标值的过程值。
具体见我发的另一个帖子,这个是我的问题。帖子链接在楼上有了

出0入0汤圆

10
 楼主| 发表于 2013-11-22 15:21:53 | 只看该作者
kayatsl 发表于 2013-11-22 14:50
转成了 uint *指针后取值, 还要强转一次uint 这不是破来一次后还要破的节奏麽.. ...

kayatsl大神一向这么重口味,具体我也不知道是什么回事。

出0入0汤圆

11
发表于 2013-11-22 15:27:56 | 只看该作者
尼 →      &a        → 引用(这是指针长度不知道啊)
玛 →   ( int * )尼  → 对int的引用
德 →    *( 玛 )     → 解引用了,现在是int了(16bit)
指 →  (int)( 德 )   → 这一步貌似多余了

设:
变量a存储在地址1h开始的地址中,如“图”所示。

                   地址
┏━━━━┓
┃            ┃ 0h
┣━━━━┫
┃   12b    ┃ 1h  ← 尼(16/32傻傻不清楚)
┣━━━━┫
┃   34h    ┃ 2h
┣━━━━┫
┃   56h    ┃ 3h
┣━━━━┫
┃   78h    ┃ 4h
┣━━━━┫
┃            ┃ 5h
┗━━━━┛

则:
        a的值                        指
大端    12345678h       1234h
小端    78563412h       3412h

做题速度略慢…看来今晚要吃好点了…

出0入0汤圆

12
 楼主| 发表于 2013-11-22 15:29:49 | 只看该作者
cmheia 发表于 2013-11-22 15:27
尼 →      &a        → 引用(这是指针长度不知道啊)
玛 →   ( int * )尼  → 对int的引用
德 →    *( ...

还没看懂,不过先谢谢大神。
晚上回去我会好好研究一下

出70入0汤圆

13
发表于 2013-11-22 16:52:26 | 只看该作者
cmheia 发表于 2013-11-22 15:27
尼 →      &a        → 引用(这是指针长度不知道啊)
玛 →   ( int * )尼  → 对int的引用
德 →    *( ...

“尼玛的指尼玛的”, 呵呵,太油菜了!

出0入0汤圆

14
发表于 2013-11-22 17:13:23 | 只看该作者
绿茶山人 发表于 2013-11-22 16:52
“尼玛的指尼玛的”, 呵呵,太油菜了!

嘿嘿,指针往复杂了写最讨厌了

出0入0汤圆

15
发表于 2013-11-22 17:23:10 | 只看该作者
老实说我也看不懂,回家慢慢看

出70入0汤圆

16
发表于 2013-11-22 17:47:22 | 只看该作者
cmheia 发表于 2013-11-22 17:13
嘿嘿,指针往复杂了写最讨厌了

就是!能简单的完成干嘛复杂完成,没事找事,炫耀吗?小心丹尼斯找上门!

出0入4汤圆

17
发表于 2013-11-22 19:18:41 | 只看该作者
从里往外扒皮

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 16:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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