[問題] 學C學到有點迷茫...

作者: qazkevin (Linus)   2018-03-29 23:40:45
各位慣C哥與C達人大家好~
小弟最近覺得學C學得有點迷茫...
該怎麼說呢...
本身對C的語法算了解,學C有一段時間了...
目前學C的方式都是在網路上刷題目,
還有用C實作出與資料結構&演算法的相關議題,
小弟很迷茫的是...
難道一直這樣練習寫C,
我就能變成一個很會寫C的人嗎?
或者這樣就能變成一位很懂C的人嗎?
本身是想以後朝Linux相關的行業去發展...
確切來說可能是想碰跟Linux Kernel相關的東西,
自己有去買一本Linux Kernel的書來讀...
但就是讀了才覺得迷茫...
感覺裡面的知識不是只要懂C就好...
似乎可能還要懂一些硬體或OS相關的知識...
不知道各位大大能否幫我這位即將找工作的新鮮人解惑...
到底我還需要學些甚麼?
難道要把計算機組織&OS拿出來讀?
PS. 小弟電機系,沒修過這兩門
作者: winest (winest)   2018-03-29 23:44:00
你需要找個自己有興趣的題目實作一下 寫再多小題目我覺得也沒用 os kernel修個課邊學知識邊配code看比較能理解
作者: qazkevin (Linus)   2018-03-30 00:01:00
winest大大,請教一下所以建議我去修OS的課然後寫作業嗎
作者: peterwu4 (notd)   2018-03-30 00:05:00
找教授做專題~~~ 順便賺賺獎學金生活費XDD
作者: chuegou (chuegou)   2018-03-30 02:17:00
老話一句 語言只是工具
作者: damody (天亮damody)   2018-03-30 02:53:00
建議多學幾種語言 c只是工作用工具的一部份實際ui一定用網頁 底層才是c 但為了方便會有大量腳本語言這就是現實世界
作者: fatb (胖逼=口=)   2018-03-30 03:06:00
linux涵蓋面蠻廣的 建議找個方向去專精 網路面算是比較普及
作者: springman (司布林)   2018-03-30 05:27:00
嗯、寫自己喜歡的程式,才會持續改善與研究。
作者: testPtt (測試)   2018-03-30 08:01:00
那你有學c++嗎?
作者: qazkevin (Linus)   2018-03-30 08:31:00
testPtt大大,我目前只學純C,沒學C++,想說如果碰底層Linux Kernel似乎不用用到C++!?
作者: carylorrk (carylorrk)   2018-03-30 09:53:00
OS/Embedded/RTOS/Driver,一些經典書看看練習做做吧!另外 DS+Algorithm 是必備知識,看看書做做題目也不錯
作者: Sidney0503 (Sidney0503)   2018-03-30 11:53:00
可以不用學C++ 但是計算機組織作業系統要讀
作者: james732 (好人超)   2018-03-30 13:34:00
研磨工具很無聊,但工具不會辜負你的努力計算機組織作業系統要讀 +1
作者: descent (「雄辯是銀,沉默是金」)   2018-03-30 18:25:00
通常會接觸到 linux driver 的工作, 建議先從這裡開始
作者: wilson6405 (KickAsson)   2018-03-30 18:45:00
跟你一摸一樣的狀況 最近在看OS
作者: CarbonK (HTYISABUG)   2018-03-30 21:31:00
你要知道……C 是一個為了開發 UNIX 作業系統設計的語言因此他很多功能都是跟系統相關要學好 C 的話 OS 的知識不可少然後還有硬體架構 (計算機組織) 也要了解才行懶人包:還是去把基礎知識打好吧,打好回來看會發現自己了解 C 語言的功能為什麼這樣設計了
作者: qazkevin (Linus)   2018-03-30 23:07:00
感謝各位大大!我會開始讀OS與計組的!
作者: uranusjr (←這人是超級笨蛋)   2018-03-30 23:51:00
想走 Linux kernel 記得先受言語虐待的專業訓練, 不然你不小心寫錯幾行被 Linus 嘴到放棄人生就麻煩了
作者: descent (「雄辯是銀,沉默是金」)   2018-03-30 23:57:00
他們只收精英阿
作者: hpyhacking (駭人聽聞)   2018-03-31 02:52:00
你先想想自己想要寫什麼程式出來,需求是什麼,在這過程中自然而然就會變強
作者: qwaszx771129   2018-04-13 17:02:00
了解Linux kernel跟OS架構之後,在看是x86,ARM學習?另外kernel 3.x以後的架構有差異比如device tree。建議可以在x86上寫一個簡單的module driver然後在寫一個user space app去呼叫IO下到kernel做事這些都沒問題後剩下大多就是驅動的規範與registerRW

Links booklink

Contact Us: admin [ a t ] ucptt.com