2012年12月17日 星期一

Head First C(深入淺出C)


這本書延續了Head First系列的傳統,用有趣的圖片和例子帶領大家更深入認識C。就如作者前言所寫,這是一本寫給已經學過C或是學過其他程式語言的人看的。書中只花了一個Chapter帶大家復習一下C的語法。因此不要被書名給騙了,這本書不適合完全沒有程式經驗的人看。如果你只是想學習C的語法這本書也不適合你。

我認為這本書很適合當C的第二本書,書中大部份篇幅都在講解一些較進階的議題。比如說程式在執行時的記憶體區段(stack, heap, code);為什麼char *str = "hello"無法被修改;指標以及函式指標的詳細解釋;union和bitfield。這些部分搭配深入淺出系列特有的圖型教學法,讓讀者可以很輕易地瞭解這些議題,這點是本書做的最好的地方。

這本書另一個值得推薦的地方是他介紹了一些其他C教學書不太會講到的地方。比如說gcc的參數,動態連接和靜態連接,Makefile的撰寫。這些都是實務上很常用到的東西。作者解釋的也非常好,難易適中。這也是為什麼我推薦這本書當作C第二本的原因。

書中後半段介紹了一些更深入的議題:process, fork, thread, socket, IPC。這部分大致上只是帶你了解有這些東西而已,更深入的部分還是建議去看其他專門探討此議題的書。

這本書的定位我覺得是在新手到進階之間,書中講解的議題是每個進階的C程式設計師都要知道的。很適合學過C想更進階的人看,看完這本書相信對C會有更深一層的認識。

沒有留言:

張貼留言