免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: KBTiller
打印 上一主题 下一主题

拙著《狂人C》出版,特邀CU网友垂注,并欢迎品头论足、批评指正 [复制链接]

论坛徽章:
0
221 [报告]
发表于 2010-11-29 21:20 |只看该作者
9.2 指向数据对象的指针
这一小节的特色有如下几点:
明确地把一元“&”运算译为“求指针运算”(其他书籍多半循规蹈矩地把这个运算叫做“求地址运算”),同时明确地指出“&”的运算对象必须是左值。
用一实、一虚两根箭头来图示指针(这种表示方法是本书的首创),这样可以更鲜明地突出指针指向“一块内存”的含义。
结合具体的实例再次解释了C语言“一词多义”的特点(我个人认为不了解这个特点就无法真正领会C)
小节后面的练习是参照文献[8]中的一道习题创作的。经验表明这样的练习能使初学者快速全面地领会“指针”、&运算和*运算的含义。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
222 [报告]
发表于 2010-11-29 22:23 |只看该作者
太罗嗦了,本来挺简单的东西文字描述复杂了.

论坛徽章:
0
223 [报告]
发表于 2010-11-29 22:34 |只看该作者
太罗嗦了,本来挺简单的东西文字描述复杂了.
gvim 发表于 2010-11-29 22:23


哦?是这个效果吗
我本想详细介绍一下这几章的特点的
能否请您给个更好的建议

论坛徽章:
0
224 [报告]
发表于 2010-11-29 22:40 |只看该作者
这广告打的。。。

论坛徽章:
0
225 [报告]
发表于 2010-11-29 22:50 |只看该作者
这广告打的。。。
zqy1005 发表于 2010-11-29 22:40



    前面有网友要求看更多的试读
    我又不能在出版社没同意的情况下擅自登载
    只好用这个办法尽量详细地介绍一下
    请理解

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
226 [报告]
发表于 2010-11-30 00:07 |只看该作者
本帖最后由 gvim 于 2010-11-30 00:09 编辑
9.2 指向数据对象的指针
这一小节的特色有如下几点:
明确地把一元“&”运算译为“求指针运算”(其他书籍 ...
KBTiller 发表于 2010-11-29 21:20



您一再强调本书对指针辨析的清楚. 清楚谈不上吧.

1 书里Object解释为"内存"里的数据一般理解是没问题的,不过arm里面所有外设寄存器的访问都映射在地址空间,您混淆了内存、内存空间和地址空间这些个概念.或许您这样做是为了减少概念,但是不能混淆概念.

2 书里说源程序的作者永远不可能为变量指定地址,这个也是不正确的,至少不是"永远"正确的.常常我们需要定义绝对地址,比如把变量定位到bitband区的某地址,使用位操作.

我觉得一般说说就足够了,这里出入的大部分朋友都了解指针,其他多说无益,和大家讨论问题或者你对C语言的深刻认识,比介绍书来的有效果.

论坛徽章:
0
227 [报告]
发表于 2010-11-30 00:15 |只看该作者
本帖最后由 KBTiller 于 2010-11-30 00:23 编辑
不过arm里面所有外设寄存器的访问都映射在地址空间,您混淆了内存、内存空间和地址空间这些个概念
gvim 发表于 2010-11-30 00:07

我承认,我对arm并不熟悉
但我非常想知道您所说的“混淆了内存、内存空间和地址空间这些个概念”是怎么回事
(我的印象,在C标准中至少并没有后两个概念)
在您看来这些概念的内涵是什么
谢谢

论坛徽章:
0
228 [报告]
发表于 2010-11-30 00:18 |只看该作者
回复 227# gvim


    您说的第2条,能否指示一下具体位置?我需要查证一下上下文,谢谢

论坛徽章:
0
229 [报告]
发表于 2010-11-30 00:30 |只看该作者
我觉得一般说说就足够了,这里出入的大部分朋友都了解指针,其他多说无益,和大家讨论问题或者你对C语言的深刻认识,比介绍书来的有效果.
gvim 发表于 2010-11-30 00:07

和“和大家讨论问题”我没有异议
您说的“这里出入的大部分朋友都了解指针”我也同意,但我觉得这本书的介绍方式是新颖的,所以也很想听听大家的意见和看法。
至于您说的我对C语言的深刻认识可实在不敢当,说实话,倒是特别渴望听听其他网友的高见,从前如此,现在和将来也如此

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
230 [报告]
发表于 2010-11-30 00:42 |只看该作者
本帖最后由 gvim 于 2010-11-30 00:44 编辑

回复 228# KBTiller


内存是存储东西的地方.
地址是某个东西的编号.

内存放进去的东西可以读出来,地址放进去的东西不一定读的出来,比如write only register.

C就是计算机体系的一一映射,所以仅仅说C不说体系,也说不准确"指针"这个焦点.

第2个问题只是想表达"永远"是不准确的.

另外,也不是变量就有地址,就可以&,至少register 变量就没有.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP