搜索
bottom↓
回复: 5

再问2个关于c的基础问题,(unsigned char *)0x5F是把0x5F这个地址强制转换为指针型的意

[复制链接]

出0入0汤圆

发表于 2008-7-22 10:50:53 | 显示全部楼层 |阅读模式
1(unsigned char *)0x5F是把0x5F这个地址强制转换为指针型的意思么?并且这个指针代表的地址是0x5F,且它所指向的变量是unsigned char型数据
是这样理解的么?


总感觉如果这么写,我反而容易理解(unsigned char)( *0x5F)
2就是关于ascII码转换的问题
(char) 48='0'么?就是讲一个255内的数强制转换为字符型,是不是得到它对应的ascii码啊??

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2008-7-22 11:00:52 | 显示全部楼层
0x5F是整数转换后才是地址。

出0入0汤圆

发表于 2008-7-22 12:43:25 | 显示全部楼层
0x5f只是整数
如果地址,编译器还会设定他的指针类型。所以必须转换。

整数48对应ascii字符‘0’,在不同的环境中代表不同的意思,值是一样的。

出0入0汤圆

 楼主| 发表于 2008-7-22 15:16:06 | 显示全部楼层
第一个问题大致明了1(unsigned char *)0x5F是把0x5F这个整数强制转换为指针的意思。并且这个指针代表的地址是0x5F,且它所指向的变量是unsigned char型数据

出0入0汤圆

发表于 2008-7-22 16:39:28 | 显示全部楼层
第1个基本正确。但注意,通常地址不会是字节的,通常是16位,或32位(看你控制器的结构)。
可是(unsigned char *)0x5F和(unsigned char)(*0x5F)意义可不一样。后者是将5F指向单元的数据转换成unsigned char型。


第2个问题,就是我每次上新课时喜欢问的问题,“什么是纯文本文件”,要求学生从专业的角度回答该问题,以及与此相关的一些概念。我在本专栏中有专门的帖子进行讨论。

我已经看到在师大学生的BBS中,有电子系的学生说这是一个非常“BT”的问题。

实际上,一点不BT,LZ的第2个问题,就是对这些最最基本的东西和概念不理解。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-29 11:36

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

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