到目前為止,我已經(jīng)讀到了《C與指針》第十六章,總共十八章,接下來的章節(jié)內(nèi)容分別是標準函數(shù)庫、數(shù)據(jù)結(jié)構、以及C語言的運行環(huán)境,還沒有完全做完練習就寫這篇讀后感原因有二,第一個當然是最主要的,這本書的前面十五章已經(jīng)差不多完全概括這門語言的精髓了,第二個原因就是我很懶,懶得做下面的習題,這些習題的答案在網(wǎng)上都找得到,不過中文的解釋倒是不多,所以我才一邊做練習一邊試著翻譯答案,不過英語水平確實不太高,翻譯的也不太好,大概意思吧。
接下來說正題,這本書--《C與指針》,這本書并不是很適合初學者,尤其是一上來就學習C語言的人,在此之前沒有任何基礎,因為這本書的難度系數(shù)還是偏高的,說到書的推薦,關于C語言的書,眾說紛紜,有的說什么譚浩強的書啊,有的說讀C語言之父寫的Program in C啊之類的,那本譚浩強的我倒是沒看過,不過聽名字就感覺不咋地(不是我有意詆毀,只是看目錄就覺得不想學習),那本Program in c我倒是有,不過沒堅持讀完,啟蒙書是我們學校發(fā)的那本教材,是一本 超爛的教材,不過要感謝我們C語言老師,他讓我們做了很多習題,之后我也算是稀里糊涂的入了門,說真的,要快速入門的最好方法其實跟書的好壞關系并不大,你多抄幾個練習,然后自己默寫幾遍,反復做那幾個典型的題熟悉語句就好了,比如說計算閏年啊,是不是素數(shù)啊,兔子生寶寶啊之類的,關鍵是熟悉C語言的語法和對編程形成一種感覺,我要解決一個問題,如何用編程實現(xiàn)呢?差不多熟悉這門語言之后再來談談書的好壞。講偏了,這本書適合什么人呢?我覺得吧,適合我,哈哈,開個玩笑,這本書很久之前我就買了,也讀了,不過讀到第八章函數(shù)之后我就沒讀了,因為有些讀不下去了,那個時候我也已經(jīng)入門了,不過這本書還是有許多內(nèi)容讀的不是很懂,而現(xiàn)在的我讀這本書時的感覺就是,這本書真的是寶貝,寫得太好了,這是我讀過的最好的C語言的書,這讓我明白了好多普通C語言書里沒有的東西,也讓我了解到C++是繼承于C語言的,它的每一點在C語言中都可以找到蹤跡,另外為什么說C語言能夠讓你了解許多硬件知識,都有深刻的體會,那么,適合什么人呢?決定你想要看這本書的內(nèi)容,如果你只打算像別的書本一樣,看他講函數(shù),數(shù)組,普通指針,各種語句,表達式,那么你入門C語言之后就能看了,畢竟如果沒有犯過錯誤就不知道警告的含義,這本書中警告的內(nèi)容都是相當值得注意的,可以說不管是什么人,即便是很熟練的程序員也可能會犯這種錯誤,如果你準備深入了解這門語言,那么你應該至少了解匯編語言,這本書有部分內(nèi)容使用了匯編語言進行解釋和比較,另外十六章里面的setjmp這種類goto語句的內(nèi)容就是繼承自匯編的,在匯編里我們差不多經(jīng)常用jump這種指令來完成我們的程序,你會在C語言中發(fā)現(xiàn)它繼承自匯編的內(nèi)容,另外一個建議就是,最好了解使用一下linux系統(tǒng),在window的VS下面編程不僅僅是說你學習不到整個程序完成的過程,還有就是會使你在使用命令行上成為一個白癡,而不會使用命令行你會失去很多樂趣的,在本書的第十五章里面,就涉及到編寫一些命令行參數(shù)以及怎樣實現(xiàn)一些基本的命令,看完這部分內(nèi)容,你對命令行也不會這么陌生了,你可以修改你的linux系統(tǒng)的命令,可以查看源碼,也可以增加一些命令,總之這種感覺應該相當不錯,最后最基本的一點,你還是得懂一些計算機原理吧,比如內(nèi)存啊,指令的執(zhí)行啊,不過這些內(nèi)容在學習匯編的時候是可以學到的,這里對匯編語言推薦王爽老師的書,linux的話自己去琢磨,下個linux系統(tǒng)安裝也就十幾分鐘的樣子,網(wǎng)上教程相當多。
至于這本書最后一部分,甚至還給出了C語言和匯編語言的接口,這意味著你可以自己把硬件部分和軟件結(jié)合一下,在匯編里不是有關于鍵盤設備的讀取嗎,像SDL之類的游戲引擎的鍵盤控制讀取這些你就能想到是怎么實現(xiàn)的了,想想還是覺得很有意思呢,對于十七章的數(shù)據(jù)結(jié)構,將在接下來的《數(shù)據(jù)結(jié)構與算法分析-C語言描述》這本書的練習和閱讀中細講,認真讀完C與指針,你將會體驗到C語言真正的魅力。