語言,無論是哪種語言都是實現目標的工具;而算法、結構則是一種思維方式。
C語言,可以說是很多語言的基礎,你用它在C++/PHP/Java上都可以直接寫代碼,所不同的就是你沒用到那些語言的一些特性而已。學好C其它語言就學會一半了,差別就是定義方式不同,賦值語句不同罷了。所以你可以自問你對C熟練嗎?
把C比喻成改錐,你可以用改錐擰螺絲,撬東西,砸洞,但是你總會發現它的局限性,比如削平木頭,這樣就需要其他更適合的工具(語言)了。例如web后段還是PHP更好,上規模的合作,首選Java;前端,JS不可或缺…..
但無論你用什么語言,算法、數據結構的思路都可以是一樣的。除了算法數據結構外,你還需要考慮學習網絡、數據庫、操作系統等,這里面有不少知識點都是可以相互借鑒的,一通百通。例如C指針,就跟數據結構的數組方式、算法的排序和查找、數據庫的底層架構、操作系統的文件結構索引等等都差不多就是一件事的不同方面。
學C(無論什么語言)至少你要做出你的特性來,程序一運行,就知道是你寫的。哪怕別人copy走,老師也是能一眼看出。是特性,不是簡單一個署名。