會不會很難或者說要入門大概需要多長時間?
最大難度可能會來自學Java會缺乏對更底層邏輯的抽象,而人往往因為定式會以Java使用的上層抽象硬套C語言的邏輯。學C的話Java的經驗可以作為參考,上層的編程思路可以用,但是語言方面,假裝自己沒學過編程語言吧。
然后就是C語言因為異常古老所以某些設定相當扭曲,比如類型格式,函數指針。
再有就是語言設計出發點的問題,Java的規則很嚴格,C語言追求性能所以在規則上留了很多余地。Java只要能編譯過的在語言層面一定是對的,C語言不是,比如i++ += i++ + ++i之類稱為未定義行為的東西。
單說C語言的話,原則說C語言比Java簡單得多。但C語言更貼近底層,所以更反直覺(當然也有一些祖傳設計Bug的問題)。C語言好不好學可能主要在于你是不是夠理性。