免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
81 [报告]
发表于 2010-11-23 23:45 |只看该作者
呵呵。没办法的。不用这个就太脱离群众了
我在反复考虑后选择了DEV C++,就是想搞点折中。在我看来DEV ...
KBTiller 发表于 2010-11-23 23:41


devc++,已经停止开发了吧?难道又重新开张了?

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
82 [报告]
发表于 2010-11-23 23:47 |只看该作者
您的这个说法和我的理解及解释相接近。我后面主要是用“函数的长度不定不统一”这个特点介绍指向函 ...
KBTiller 发表于 2010-11-23 23:37



   
函数的长度和函数指针指向的长度,不是一个东西吧.
另外,类型的意义是1, 一段存储数据的区域, 2, 其上定义的运算.
void无法定义存储区域的长度,且没有运算(cast是编译期的东西,不是其本身的运算). 我认为不是类型,void *的意义只表征一个内存地址,没有长度.

论坛徽章:
0
83 [报告]
发表于 2010-11-23 23:48 |只看该作者
其实指针通俗的讲就是某类数据的索引,如果对于初学者没有领悟到这层含义,还是没学明白。指针除了赋值操作,加减操作也非常普遍,理解了数据的索引,就很容易理解指针的这些操作以及为什么可以这么操作,也容易理解将char、short、int等类型间的互相转换。
mirnshi 发表于 2010-11-23 23:25

    “索引”这个说法我就怕别人会理解为“编号”。不过这个说法更通俗些。我再琢磨琢磨
    指针加减操作在后面介绍了。但我认为只有指向数据对象的指针才有这种操作(而且有严格的条件限制),void *和指向函数的指针都没有这种操作,这是我在书中把指针分类的原因和根据。

论坛徽章:
0
84 [报告]
发表于 2010-11-23 23:50 |只看该作者
devc++,已经停止开发了吧?难道又重新开张了?
mirnshi 发表于 2010-11-23 23:45


问题是没有更好的替代品(win下能用,兼顾linus下的编译器,较好地支持C99,自由软件)

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
85 [报告]
发表于 2010-11-23 23:51 |只看该作者
总的来说挺不错了,呵呵.
我们讨论的也许出于各自理解不同吧,太拘泥的一些讨论没太多意义.作为初,中级书籍大致不差就可以了.
支持原创

论坛徽章:
0
86 [报告]
发表于 2010-11-23 23:58 |只看该作者
函数的长度和函数指针指向的长度,不是一个东西吧.
另外,类型的意义是1, 一段存储数据的区域, 2, 其上定义的运算.
void无法定义存储区域的长度,且没有运算(cast是编译期的东西,不是其本身的运算). 我认为不是类型,void *的意义只表征一个内存地址,没有长度.
gvim 发表于 2010-11-23 23:47


“函数的长度和函数指针指向的长度,不是一个东西吧.”
显然不是。我觉得,函数的长度还算成立,“函数指针指向的长度”不成立,是个“伪”概念

“类型的意义是1, 一段存储数据的区域, 2, 其上定义的运算.”
完全赞成

“void无法定义存储区域的长度,且没有运算(cast是编译期的东西,不是其本身的运算).”
cast是编译期的东西这句我感到好象很难接受

“我认为不是类型,void *的意义只表征一个内存地址,没有长度.”
除了“不是类型”,其余都没问题
看来我们的概念体系有些区别
我的书上是把void作为一种类型的

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
87 [报告]
发表于 2010-11-24 00:01 |只看该作者
“索引”这个说法我就怕别人会理解为“编号”。不过这个说法更通俗些。我再琢磨琢磨
    指针加减操 ...
KBTiller 发表于 2010-11-23 23:48


也可以理解成编号吧。void属于无类型的,占位子用的。对于数据和函数的都可以理解为编号。没啥不可以的,喊9527,就是周星星嘛

论坛徽章:
0
88 [报告]
发表于 2010-11-24 00:02 |只看该作者
总的来说挺不错了,呵呵.
我们讨论的也许出于各自理解不同吧,太拘泥的一些讨论没太多意义.作为初,中级书籍大 ...
gvim 发表于 2010-11-23 23:51

谢谢鼓励!
我们的讨论我认为主要是因为各自接受的书籍的概念体系有些细小的差异
我注意到概念不同容易导致不必要的、表面的分歧
所以在书中特意明确了各个概念的确切含义

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
89 [报告]
发表于 2010-11-24 00:03 |只看该作者
“函数的长度和函数指针指向的长度,不是一个东西吧.”
显然不是。我觉得,函数的长度还算成立,“函数 ...
KBTiller 发表于 2010-11-23 23:58



   
void 是类型的话,你可以这样吗?

int main()
{
    void x;
    return 0;
}

论坛徽章:
0
90 [报告]
发表于 2010-11-24 00:03 |只看该作者
也可以理解成编号吧。void属于无类型的,占位子用的。对于数据和函数的都可以理解为编号。没啥不可以的 ...
mirnshi 发表于 2010-11-24 00:01



    这个说法对我来说很新颖,我需要时间消化一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP