《c语言接口与实现》读后感

《C语言接口与实现》深入探讨了C语言中的数据结构封装,如atom、list、stack、hashtable等,并通过setjmp、longjmp实现异常机制。作者对C编程的深入理解使得即使C++程序员也能从中受益。书中还涵盖了内存管理和自定义格式化函数的实现,展示了C语言写出优雅代码的可能性。阅读此书,有助于提升C编程技巧,理解底层机制。
摘要由CSDN通过智能技术生成

  在网上看过一篇文章叫《c编程的四书五经》,中间就包括这本书。我推荐要好好研究c的朋友好好看看这本书。这本书用c进行数据结构的封装。其基本思想就是一个数据结构和围绕它操作的一族函数。只要学过c语言的人,对于自己封装这样的链表或堆栈一定觉得不是难事,但是很少有人像本书作者做的如此通用。这本书是lcc的作者写的,其源码可以在国外的网站下载到,china-pub有链接。

  书中对atom,list,stack,hashtable,set,ring,exception等都作了探讨。相信看过这边书后,你使用c编程的功力会大为提高。也许使用c++的朋友会认为这些c++的标准模板库都可以实现,因此对c封装这些不屑一顾。但是即使是c++程序员,我相信你看过本书后,就不会这么认为了,这些对写好c++代码也同样有好处。反正我是用STL后就变得很懒,什么数据结构都向STL靠,这可不是很好。网上有篇文章流传的很广,叫做《lua让我脸红》,为什么呢?因为lua编译器和虚拟机就是用纯c实现的。一个能把c写得如此优雅的人,你可以想到他写起c++来会怎么样。打开lua的源码,你会发现,一个全局变量都没有,代码非常简洁。lua编写就很有本书的思想。比如lua里面的字符串,全部都存在hashtable中,TSring存储的只是对hashtable的“引用”,比较字符串只需要比较地址就可以了。这个方法就是本书中的atom.

  这本书还用setjmp,longjmp实现了一个c的异常机制,setjmp,longjmp在一般的c语言书中介绍的很少,看过之后,我对异常机制也有了更深的理解。

  对于va_start,va_end这些函数,书中也有详细的讲解,如何封装成自己的format(如

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值