社区
C语言
帖子详情
这个宏怎么理解??
juso2011
2012-04-19 08:43:40
#define ADDR (*(unsigned char*)0x1001000)
指针那里怎么看?
...全文
88
6
打赏
收藏
这个宏怎么理解??
#define ADDR (*(unsigned char*)0x1001000) 指针那里怎么看?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2012-04-19
打赏
举报
回复
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
指针即地址。“地址又是啥?”“只能从汇编语言和计算机组成原理的角度去解释了。”
提醒:
“学习用汇编语言写程序”
和
“VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习C和汇编的对应关系。”
不是一回事!
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!
fishion
2012-04-19
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
(*(unsigned char*)0x1001000)
把0x1001000内存地址转换成unsigned char* 然后再解引用
得到的是0x1001000处类型为unsigned char的数据
取名为ADDR有点扯蛋
[/Quote]
同感,有被误导的感觉
hen_hao_ji
2012-04-19
打赏
举报
回复
先把 这个 0x1001000地址转成 unsigned char 指针,然后读取这个指针所指向的值。。
帅得不敢出门
2012-04-19
打赏
举报
回复
(*(unsigned char*)0x1001000)
把0x1001000内存地址转换成unsigned char* 然后再解引用
得到的是0x1001000处类型为unsigned char的数据
取名为ADDR有点扯蛋
RabbitLBJ
2012-04-19
打赏
举报
回复
取0x1001000地址处的值
evencoming
2012-04-19
打赏
举报
回复
把数值 0x1001000做为一个char *类型的指针,取指针指向的内容的值。
你必须知道的495个C语言问题
这两个声明有什么区别? 1.17 “typedefint(*funcptr)();”是什么意思? const限定词 1.18 我有这样一组声明:typedefchar*charp;constcharpp;为什么是p而不是它指向的字符为const? 1.19 为什么不能像下面...
什么是
宏
定义?
1.不带参数的
宏
定义:
宏
定义又称为
宏
代换、
宏
替换,简称“
宏
”。...一切以换为前提、做任何事情之前先要换,准确
理解
之前就要“换”。 即在对相关命令或语句的含义和功能作具体分析之前就要换: 例: #def...
宏
定义是什么?为什么要进行
宏
定义?
宏
定义的格式
宏
定义是C语言提供的三种预处理功能的其中一种,这三种预处理包括:
宏
定义、文件包含、条件编译。
宏
定义和操作符的区别:
宏
定义是替换,不做计算,也不做表达式求解。
宏
定义又称为
宏
代换、
宏
替换,简称“
宏
”。在 ...
什么是
宏
任务、微任务?
宏
任务、微任务有哪些?又是怎么执行的?
总会遇到面试官问:这段代码是如何执行的,输出结果是怎样的,然后再讲下为什么。对于这种问题,难的不是输出什么,而是为什么,输出结果我们可以像做选择题一样输出,但是为什么才是问题的关键,但我们很少能够答道...
什么是
宏
?
什么是
宏
?
宏
可以看作是一些命令的集合 ...那么什么是过程呢?标准的过程定义就是“将输入转化...可以认为过程是个更复杂的
宏
。 C语言中
宏
定义,
宏
替换 其他计算机语言中的
宏
是什么? 简单来说:
宏
定义又称
C语言
69,368
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章