[讨论] C语言入门经典学习笔记(1)

辛昕   2011-7-8 23:49 楼主
这本书就是Ivor Horton(霍顿)的那本,我在 读书 应用里 有收藏。


一直以来很坚定,甚至可以说很固执地只以这本书为我唯一的C语言教程,正如我固执地(至少暂时)只学C这一门编程语言。

好了,闲话少说。
上一次,我学到了第八第九章,函数的部分。
毕业以后,接着从这里开始学,现在看到了第十一章,结构体这一章。
简单的说。这一章的内容,因为我在实际阅读程序中有遇到过,实际上我早已知道一些关于它的定义和引用,这一章对我来说并不新鲜。
在这一章里我有两个新的知识点,一大一小
小的是,知道了pBar->name 这样的表达式到底是什么意思。

大的是,了解了链表和 二叉树 这两个概念。

前两天放了一会,因为看到有点想吐。
感觉有点拖沓,今晚硬着头皮看了章末那个较大的程序,是个柱状图的,对我来说,我知道怎么操作链表,依次存取一系列数据,但是,我不太清楚它如何绘出一张二维的柱状图。(当然,这个好像不是主题?)
不管如何,我决定先放一放——其实每一次这本书看到每一章的这个位置,我都会停在这里。

好了,学习笔记,该有一些技术性的话题,而不是这些感想。(还好这不是我的毕业论文)

如果说,不去考虑那个章末程序,我对这一章的内容基本了解。
我有一个问题是,书上说,
使用链表可以使用最少的内存。

这句话我不太理解。
首先按照我的理解,目前为止,在没有用文件处理以前,我们程序里跑的东西,变量,都存储在内存里。
可是,不管使用链表如何,在我们存取了数据进去以后,在我们使用它以前,在我们使用完释放以前,他们都在哪里,而不会因为动态分配就少了。
我是说,用多少还得存多少。

那么,这个 使用最少的内存,该怎么理解呢?
是类似于动态分配的意义,因为我只用了我需要的那么多么?
还是有别的我不理解的地方呢?

强者为尊,弱者,死无葬身之地

回复评论 (7)

链表是根据实际情况去开辟内存单元,而你说的变量和数组这些是要事先定义固定的长度,如果不确定长度则要定义一个足够大的长度和空间,所以相对来说链表比较节省内在
我也只能理解到这里,看看有没有高手来详细解释下
点赞  2011-7-11 23:00

回复 楼主 辛昕 的帖子

zjjone1023说得很对。动态的分配,以牺牲一个pointer所占空间为代价,使得内存使用效率大大提升。
点赞  2011-7-12 09:31

回复 板凳 richiefang 的帖子

俺懂了。
多谢2L和3L的兄弟
强者为尊,弱者,死无葬身之地
点赞  2011-7-12 09:44
辛,我最近就在看数据结构,链表的功能个人认为是充分利用系统内存!
点赞  2011-8-31 20:12
怎么回事,感觉写的东西少了点,真希望能多学点,充实自己
点赞  2011-10-4 10:21
引用: heleijunjie72 发表于 2023-9-7 20:35 多多提供编程调试方面的例子程序,就好了,这方面的资料很是少的

我后面写过一阵子有个系列帖子,是C的,但不涉及单片机

强者为尊,弱者,死无葬身之地
点赞  2023-9-7 21:48

蹭点积分

点赞  2023-9-26 18:22
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复