免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
71 [报告]
发表于 2010-12-14 11:51 |只看该作者
指针(*)和地址(&)——不知道我这样说对不对——是C程序员的最爱也是C程序员最头痛的地方吧。
renxiao2003 发表于 2010-12-14 09:18



    “最爱”同意。但我觉得不应该头痛,指针没那么难。如果您说的头痛是因为容易误用,我同意

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

除了作者,咋就没见其他嘉宾说一句话呢?还以为会带来精彩。看了半天,没什么有价值的讨论,我觉得本贴可以结了------发书

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
73 [报告]
发表于 2010-12-14 19:58 |只看该作者
回复 71# KBTiller


    反正我是头疼指针的啊。

论坛徽章:
0
74 [报告]
发表于 2010-12-14 20:22 |只看该作者
除了作者,咋就没见其他嘉宾说一句话呢?还以为会带来精彩。看了半天,没什么有价值的讨论,我觉得本贴可以 ...
gvim 发表于 2010-12-14 17:06



     太没耐心了,呵呵 。我估计真正的讨论还没开始,所以其他嘉宾暂时也没什么好说的吧
     此外可能书中的有些说法比较新颖,大家需要点时间准备一下再发言

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


    反正我是头疼指针的啊。
renxiao2003 发表于 2010-12-14 19:58

    我最头疼的是类型转换,很多细节记不住,只能现查

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
76 [报告]
发表于 2010-12-14 20:26 |只看该作者
回复 75# KBTiller


    是啊。类型转换函数也不是很清楚,先查。

论坛徽章:
0
77 [报告]
发表于 2010-12-14 20:33 |只看该作者
按我的理解 void * 是可以指向任何对象的。因为在使用上有这么个效果。比如一个函数只接受一个参数,但是有 ...
rover12421 发表于 2010-12-13 10:27

多数指针有值和所指向的数据类型这两方面的内涵
但void*只有值这个内涵
所以void*的唯一作用就是传递这个值
无论传递值给它的指针指向什么
还是它传递以值的指针指向什么
void*本身指向的都是void——Nothing

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


    反正我是头疼指针的啊。
renxiao2003 发表于 2010-12-14 19:58

指针我一点都不觉得头疼,倒是觉得用起来很上瘾

论坛徽章:
0
79 [报告]
发表于 2010-12-14 20:37 |只看该作者
不知道对初学者咋样,特别指针,老谭的书害苦了我没认真学c语言,建议补充一些习惯的硬件基础知识 ...
expert1 发表于 2010-12-13 13:41

      您觉得哪些硬件基础知识对C语言是必要的

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

回复 79# KBTiller

组成+汇编

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

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

数据指针用来构建数据结构,函数指针用来构建抽象。大师说程序=数据结构+算法。
算法如果再抽象,效果很强大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP