免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wmimi2

[书评] 你认为这本书怎样 [复制链接]

论坛徽章:
26
CU大牛徽章
日期:2013-03-13 15:15:08水瓶座
日期:2014-08-31 19:44:01卯兔
日期:2014-09-05 08:48:33摩羯座
日期:2014-09-07 13:03:35子鼠
日期:2014-09-10 08:42:36白羊座
日期:2014-09-20 12:39:07丑牛
日期:2014-09-24 07:35:252015年亚洲杯之阿联酋
日期:2015-02-03 17:42:542015年亚洲杯之卡塔尔
日期:2015-02-11 13:13:022015年亚洲杯之约旦
日期:2015-03-03 15:10:522015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之卡塔尔
日期:2015-03-27 14:08:09
发表于 2015-10-04 14:21 |显示全部楼层
说指针就是地址是不对的吧, 看看ISO C99的说明,  里面并没有说指针一定是地址. 可能某种奇怪的编译器对指针的实现就不是地址呢?
A pointer type describes an object whose value
provides a reference to an entity of the referenced type.


下面的对指针的回答, 我觉得是解释的最好的. 我贴出来
The C standard does not define what a pointer is internally and how it works internally. This is intentional so as not to limit the number of platforms, where C can be implemented as a compiled or interpreted language.

A pointer value can be some kind of ID or handle or a combination of several IDs (say hello to x86 segments and offsets) and not necessarily a real memory address. This ID could be anything, even a fixed-size text string. Non-address representations may be especially useful for a C interpreter.

作者地址 http://stackoverflow.com/questio ... ot-a-memory-address

评分

参与人数 1可用积分 +10 收起 理由
MMMIX + 10 很给力!

查看全部评分

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
发表于 2015-10-04 15:45 |显示全部楼层
回复 31# Third-Edition

The C standard does not define what a pointer is internally and how it works internally. This is intentional so as not to limit the number of platforms, where C can be implemented as a compiled or interpreted language.

A pointer value can be some kind of ID or handle or a combination of several IDs (say hello to x86 segments and offsets) and not necessarily a real memory address. This ID could be anything, even a fixed-size text string. Non-address representations may be especially useful for a C interpreter.


第一句的意思是:对于我们目前常用的平台比如ia32,amd64,就是地址,但是对于某些平台,这个就不一定是地址。

第二段的最后,强调了interpreter。

这个是不是说:

1.对于C语言的“解释器”来说,这一点更加有利。据我所知,好像是有个C语言的解释器。

2.对于C语言的“编译器”来说,可能是地址,也可能不是,比如是某种内部的reference。

论坛徽章:
36
子鼠
日期:2013-08-28 22:23:29黄金圣斗士
日期:2015-12-01 11:37:51程序设计版块每日发帖之星
日期:2015-12-14 06:20:00CU十四周年纪念徽章
日期:2015-12-22 16:50:40IT运维版块每日发帖之星
日期:2016-01-25 06:20:0015-16赛季CBA联赛之深圳
日期:2016-01-27 10:31:172016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之福建
日期:2016-04-07 11:25:2215-16赛季CBA联赛之青岛
日期:2016-04-29 18:02:5915-16赛季CBA联赛之北控
日期:2016-06-20 17:38:50技术图书徽章
日期:2016-07-19 13:54:03程序设计版块每日发帖之星
日期:2016-08-21 06:20:00
发表于 2015-10-04 15:55 |显示全部楼层
回复 30# wmimi2


    我没看过这本书,所以对这本书不予置评

    单就推销基础入门书籍这件事而言,楼主你应该去各大高校贴吧,在这里推销,不管书有多好(尤其是C教程这种国外几本佳作光环笼罩之下)都是然并卵
    这里高手众多,不乏水平非常接近语言律师甚至造语言轮子者,谈论语言教程之时洞察范围之广泛、细节之深刻,常常超乎教授知识之外,语法词法标准等
    初学者不太需要在意的东西,肯定会被拿来用作评判教程的工具,而这些东西,就是具有多年经验的学者也未必能拿得准

    书籍名字和内容或许针对入门者做了很多考量,言辞也循循善诱之流,但是放在CU,楼主你来错地方了

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2015-10-04 19:59 |显示全部楼层
本帖最后由 yulihua49 于 2015-10-04 20:17 编辑

回复 33# cokeboL
楼主在这里给大家介绍本书,没有罪过吧?
喷的人,水平都很高了,自然不需要此类书籍,但是坛子里还有雏鸟,喂点食不犯法吧?

如果书中有错误,可以指出来,但是反对人身攻击。
我认为坛子应该欢迎这种科普的努力。

当有些人(不是指你),在竭力贬低他人企图凸显自己高大上的时候,别人真的会向你希望的那样想吗?

说实在的,我也是从这个年龄过来的,当初也是如何的自命不凡。多年后,会知道当初是多么幼稚可笑。
学会佩服别人,需要很多年的磨练。


   

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2015-10-04 20:21 |显示全部楼层
MMMIX 发表于 2015-10-03 21:10
回复 22# yulihua49

在汇编语言里,就是“间接寻址”。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2015-10-04 21:17 |显示全部楼层
回复 34# yulihua49


    楼主有说这书好的权利,别人难道就没有说它不好的权利了?

给新手看的书,才应该让真正的行家里手来写。当然,若是新手有相关经验,知道通过相关评论、口碑等手段进行甄别,也基本不会被垃圾书毒害。

再说两句本书相关的:

1、作者本身是学生物信息的,非计算机科班出身;从有限的此书摘录中,也看不到作者多高的在计算机科学方面的专业理论素养;
2、本书在不同网站(京东、CU、贴吧)仅有的几个好评,不论是发表的ID还是措辞,都太相似了,很难说是客观的评论;
3、在前言中作者也说了,本书不注重专业性,它是本计算机等级考试辅导/参考用书(这种书从我的经验来看99%质量都一般的很),其目标读者也是正在准备这种考试的人群,而不是准备将来从事编程相关工作的人。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2015-10-04 21:33 |显示全部楼层
回复 35# yulihua49


    不知道你有没有考虑过这种可能:

有些东西你觉得自己知道,但事实上你并不清楚;有些知识你觉得自己已经完全掌握,但其实你的了解只是流于表面,知其然而不知其所以然,或是只知其一而不知其二。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2015-10-04 21:53 |显示全部楼层
MMMIX 发表于 2015-10-04 21:33
回复 35# yulihua49

同意你23楼所说,加个注脚而已。

论坛徽章:
43
15-16赛季CBA联赛之四川
日期:2018-10-13 23:26:5015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:36程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
发表于 2015-10-04 23:06 |显示全部楼层

反复测试,发现printf的诡异问题

本帖最后由 thy_shenzhen 于 2015-10-05 21:37 编辑

代码如下:
  1.         domain1         = "blog";
  2.         domain2         = "chinaunix";
  3.         domain3         = "net";
  4.         len1 = strlen(domain1);
  5.         len2 = strlen(domain2);
  6.         len3 = strlen(domain3);

  7. //      printf("the str len1 len2 len3 is %d,%d,%d====\n",len1,len2,len3);      
  8.         syslog(LOG_INFO,"the str len1 len2 len3 is %d,%d,%d====\n",len1,len2,len3);
复制代码
这段代码只要用到了printf而且打出3个变量的就会影响到其他程序,导致指针指向的内存数据混乱。

而且只要注释掉printf就没问题了。怀疑printf这个函数存在什么缺陷?

另外我还反复测试过下面几种情况:
1、单独printf其中1个变量也没问题。
2、只打印len1,len2,len3中的任意两个,也没这个问题。
3、用syslog打印随便怎么用都没问题。


这个问题真是够神奇,实在出乎意料啊,仅仅注释掉就好了。
谁能讲讲printf打印3个变量时,到底发生了什么事情?为什么会出现这种坑人的问题?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-10-04 06:20:00每日论坛发贴之星
日期:2015-10-04 06:20:00
发表于 2015-10-05 10:21 |显示全部楼层
MMMIX 发表于 2015-10-04 21:17
回复 34# yulihua49


上君说法过于片面!

1. 生物信息也是信息学专业,信息学院,专门研究计算机的,怎么不是科班出身?

2. 还有,你见过作者的这本书吗?《老兵新传:Visual Basic核心编程及通用模块开发》,这是3年前的,介绍windows编程内核编程的,十分高端,恐怕里面的内容有20%你懂我就服你!看人家把VB玩的,这才是高手!不要跟我说VB不堪一读,能把VB都能玩成这样,你就算拿C++跟人编出同样的程序来,人家也比你强10倍,因为人家用的是VB!

3. 还有作者简介:
  张宁,南开大学生物信息学博士和博士后,现任职于天津大学精密仪器与光电子工程学院,主要从事生物医学信息相关的数据分析、数据库、软件开发等工作。在C语言一线教学多年,精通C语言、Visual Basic、Windows编程等,有19年编程和软件开发的实践经验,在国内外高水平刊物发表论文50余篇,多次在各类编程竞赛和讲课大赛中获奖。著有《老兵新传:VisualBasic核心编程及通用模块开发》(清华大学出版社)等。

人家是天津大学的,那可是重点里的重点大学,你说人家水平低,你在哪?咱这破学校说实在的,不足人十分之一。对了,我高看你了,恐怕你连大学还没上吧,还胆敢在此目空一切?对了,你就是目空一切,你连科学都鄙视,我应该估计到了

4. “数据分析、数据库、软件开发等工作”,人家是搞开发的,有开发一线经验,很差的人会搞开发吗?

5. “19年编程和软件开发的实践经验,在国内外高水平刊物发表论文50余篇”!这资历你比的了吗?


谭浩强大师最亮点的地方不在于自己多牛,而是普及计算机,将更多非计算机专业的人领入计算机的大门!
你牛,你显摆,有用吗?别人会理你吗?只能拿你当神经,好听点说就是敬而远之、不可理喻。

你说作者水平低,所以我搬出这个,
作者如此牛,但人家并没有显摆自己多牛,而是普及大众,编出如此通俗易懂的大众C语言读物。能就搞,亦能就低,面向大众群众,普及C语言基础,我觉得这样的作者才是真正的高手,有如谭浩强大师一般!而且书写的很认真,我觉得很值得我们尊敬。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP