C語言學了能干嘛?
做游戲開發(fā)有必要學習C語言嗎?
C語言學了有什么用?
我經(jīng)常會聽到這種聲音,里面不乏計算機專業(yè)的學生。
以我個人的經(jīng)驗來說,C語言是非常有必要學習的。
很多人學習C語言只是為了學習算法,或者單純是用來做數(shù)學題......
C語言的用處很多,不是只能做驅(qū)動或者嵌入式。
比如計算機圖形學,不一定非要使用C++。
而且早期計算機圖形學,基本上都是C。后來才慢慢轉(zhuǎn)到C++,但是C的圖形庫也有很多。

我當時買的這本書,應該是國內(nèi)最早引進的圖形學教材,現(xiàn)在估計絕版了吧……
比如,我就用C語言實現(xiàn)過計算機圖形學的功能。
這是我自己用C語言封裝的庫。
以前我還寫過一個檢測C#內(nèi)存泄漏的小工具。
C語言還可以做系統(tǒng)。
現(xiàn)在的操作系統(tǒng)基本上都是C寫的,比如Unix。
感興趣的同學,可以看看如何實現(xiàn)系統(tǒng)之類的書籍。
Unix小一點的版本只有幾萬行代碼,但是已經(jīng)是一個相對完整的操作系統(tǒng)了,像內(nèi)存管理、線程管理、內(nèi)存調(diào)度、系統(tǒng)時鐘劃分等,你完全可以自己試著實現(xiàn)一個,真的是非常美妙的體驗。
C語言可以做的事情很多,缺點就是什么都需要自己寫。
像內(nèi)存管理、線程管理、消息管理.....
我認為C語言入門的水平,其實是鏈表。
數(shù)組不算入門,鏈表的各種操作熟悉才算是入門,鏈式數(shù)組、鏈式棧、雙向鏈表等。
C語言的中級水平,應該可以用C實現(xiàn)圖和樹這種高級一點的數(shù)據(jù)結(jié)構(gòu),同時也能自己做一些庫。
高級水平的話,可以用C構(gòu)建大型系統(tǒng)了,并且能夠根據(jù)經(jīng)驗去優(yōu)化改進。