c語言和java區別
Ⅰ c語言和JAVA語言有什麼區別
想做好c語言或者JAVA前期一定要系統的學習一下。兩者的區別:1、面向對象Java的面向對象的指向性很明顯,而C則是一個正規的結構化語言。 Java中有一個字元串類String, 通過調用 String.length()就可以了解字元串的長度,但是在C語言中,則需要使用函數strlen(str)來得到字元串(字元數組)的長度。2、名稱空間Java通過包(package)來實現名稱空間,在C語言中,所有的函數都處於同一名稱空間,也就是沒有名稱空間,因此就會很多程序提供的api介面函數都有一個前綴.3、內存管理在Java中,基本不用考慮內存的問題,如果想用一個對象,new一個就可以,這個過程的背後則是JRE為對象分類的一定內存,當JRE檢測到你不再使用這個對象的時候,他就會自動回收內存,也就是說你只管借東西,不用管歸還,因為與有人當你的跟班,在你不使用的時候就把東西歸還了,不過這個過程還是有的,只不過是JRE作的而已。達內教育
但是C語言則不同,如果你想用,你可以用malloc之類的方法申請內存,當你使用完了,因為沒有跟班的,你需要自己把這塊內存歸還回去,也就是調用free方法來完成這個任務。由於需要顯式的歸還內存,因此當一個函數需要將一塊內存返回給調用者的時候,問題就相對復雜了,不像面向對象和具有內存回收功能的Java那麼直觀了。
想學好C語言或者JAVA,必須要到專業的教育機構進行系統的學習。達內在培訓行業是做的非常專業,擁有19年專注C語言培訓,攜手一線行業大咖研發課程,並親自參與授課。60%實訓項目,有4個課程進階體系。同時達內有C語言和JAVA的線上公開課,可以進行免費的學習,感興趣的可以參加一下達內的線上試聽課,系統的學習一下。 免費試聽報名入口
對於這個問題,在C語言當中,有幾種解決方式:(1) 在調用者中先分配好內存,作為參數輸送到被調用的函數中(2) 在被調用的函數中分配,使用完後在調用者中釋放(3) 在被調用函數之中使用static變數,可以將該變數返回。