在c語言中要用到,類似java中的ArrayList的功能,一般是怎麼做的?

計科專業從事嵌入式開發已經多年了,對於C語言用的比較多,java相關的項目也做過幾個,在具體的項目中如果採用C語言的編寫,在實現具體的應用功能的時候消耗的程式碼量相對比較多,而且很多像java中的集合或者隊列的概念,這些基本的工具都需要自己去實現,而且一旦實現的存在問題還會導致系統的崩潰或者記憶體泄漏,一般來講做過C語言做過項目,每次實現應用級開發的時候需要涉及到新的功能模組可能需要實現的程式碼不僅僅是業務模組的程式碼了。

相對來講如果是java層面的程式碼,開源的類庫和標準的庫非常多,所以在編寫業務模組程式碼上還快於底層的程式語言,所以從語言的性質考慮底層的程式語言還是適合在底層做支架類的事情,高級語言去做應用級別的開發,因為應用開發來講變化比較多,涉及到的範圍也比較廣泛,但是高級語言本身自帶的或者開源的類庫多如牛毛,所以在應對用戶需求的時候更加靈活自如,任何一種程式語言都有其優勢點,程式語言雖然種類繁多,但是每種程式語言只是在自己適合的場景出現,這樣編程的效率還會極大的增強。

早期的編程效率要比現在還是低很多,早期的程式語言的種類也比現在少,而且基本上採用底層的程式語言去開發應用,不僅僅效率低還非常容易造成系統的崩潰,現在應用開發可以選擇的開發語言非常多,所以早期的底層開發語言已經慢慢在應用端沒有市場了,這也是科技發展的必然趨勢,分工變得越來越明細化,合適的人做合適的事情。

目前市場的狀態是C/C++底層程式語言在市場絕對工作數量並不低,但是相對比例在下降,畢竟大部分的企業還是應用級別的開發為主,能夠大規模的搞底層開發的企業畢竟屬於有實力的企業,現在中國編程應用級別的開發主要是互聯網企業,對於像java,python,php之類用的比較多,但並不是意味著像C語言之類的底層語言就不重要了,就拿現在比較火熱的人工智慧來講底層框架的構建還是離不開C/C++,畢竟像複雜的演算法性能的要求是比較高的,雖然高級語言也能去做但在性能上還是抵不住底層程式語言。

程式語言在全球已經有將近500多種,到目前為止可能很多程式語言很多人已經被淘汰了,但是很多企業還是一直在用,不是所有的企業都必須要最時髦的程式語言,合適的才是最好的,只要是留存的程式語言證明其在市場上還是有存在價值,至於是不是過時了,這也是不是技術人員能夠決定的,對於技術人員來講還是要跟上技術發展的趨勢,不要覺得已經掌握一種編程了,並且能夠做的不錯了,就高忱無憂了很多人喊著程式設計師老了企業可能就不怎麼善待了,技術能力提升了企業怎麼可能捨得辭掉,關鍵還是自身的問題,希望能幫到你。