免费注册 查看新帖 |

Chinaunix

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

对C语言指针的讨论:应当如何理解、使用指针?《狂人C:程序员入门必备》有奖试读 [复制链接]

论坛徽章:
0
81 [报告]
发表于 2010-12-14 23:17 |只看该作者
回复  KBTiller

组成+汇编

指针对机器来说是一个间接寄存器寻址: [eax]
指针函数也是: call [eax] (还是call *[eax]记不太清楚了)

gvim 发表于 2010-12-14 23:02

这个我需要仔细考虑一下。因为这书的起点很低,这些东西应该怎么讲得得通俗,恐怕很有难度

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
82 [报告]
发表于 2010-12-14 23:22 |只看该作者
回复 81# KBTiller


最好别讲,越讲越复杂。领进门即可,K&R也没有讲这些,只说C语言的东西。倒是可以指明需要深入的参考书。

论坛徽章:
0
83 [报告]
发表于 2010-12-14 23:29 |只看该作者
回复  KBTiller

函数指针(也就是寄存器间接寻址模式)在软件领域另一个最大用途是抽象:1 参考vfs, 2 参考sort参数。也就是接口和实现分离。

数据指针用来构建数据结构,函数指针用来构建抽象。大师说程序=数据结构+算法。
算法如果再抽象,效果很强大。
gvim 发表于 2010-12-14 23:02

这个我完全赞成您
您所说的“抽象”、“接口与实现分离”、“构建数据结构”应该是使用C语言的一个很高的境界
《狂人C》的第十一章就是试图讨论您所提到的问题
但是究竟做的如何我也不是很有底(可惜出版社没有容许我贴第十一章)

我个人觉得能以您这样的视角提出指针应用看法的网友实在难得
非常渴望您能多多指教(尤其是第十一章)

论坛徽章:
0
84 [报告]
发表于 2010-12-14 23:39 |只看该作者
呵呵,没有理由但却“相信”,在我看来就是宗教问题
KBTiller 发表于 2010-12-14 07:37

你不尊重想象力!

论坛徽章:
0
85 [报告]
发表于 2010-12-14 23:46 |只看该作者
你不尊重想象力!
jc_zhong 发表于 2010-12-14 23:39



    不,我只是无法完全相信和完全依赖想象力
    大胆假设,还要小心求证

论坛徽章:
0
86 [报告]
发表于 2010-12-15 08:07 |只看该作者
路过!!!!!!

论坛徽章:
0
87 [报告]
发表于 2010-12-15 11:33 |只看该作者
其实对于一个东西不同的人有不同的理解,一般变量的指针还是比较好理解的,如果是数组,多维数组,函数的指针就需要细细体会了

论坛徽章:
0
88 [报告]
发表于 2010-12-15 11:44 |只看该作者
其实指针就是你不用记住内存地址但同时还可以对地址进行操作的一个工具而已。这样就不必去计算每个变量、语句所占的具体大小及下一个结构的起始地址,语言本身会帮你编译得到。通过对地址的操作就可以掌控一切,实现灵活调用。

论坛徽章:
0
89 [报告]
发表于 2010-12-15 11:47 |只看该作者
回复 88# x9x9


    确实是,在C中指针无比强大

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
90 [报告]
发表于 2010-12-15 12:57 |只看该作者
回复 79# KBTiller


    同意80楼,汇编基础吧,而汇编可能需要知道计算机的体系结构。当然不知道这些也可以。知道以后理解的更透彻,只要举几个例子让大伙理解即可。不需要深入搞。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP