導航:首頁 > 編程語言 > c指針java

c指針java

發布時間:2022-06-17 00:03:40

java中引用類型的變數與c中指針變數的區別

  1. 區別應該很多,理解這些區別應該是建立在對C的指針和對Java引用類型的高度理解之上2的。

  2. 這里說下自己的理解:java中的引用類型可以看成是C中指針概念的封裝。C中指針是一個數值,可以進行各種運算(算術、邏輯、位),但是在java中,這些功能被封裝,是無法使用的。

  3. 根據本題的其他回答更新:java中的參數傳遞是按值傳遞當傳遞的是基礎類型的值時,那麼會將此值復制一份傳遞,當傳遞的是引用類型時候,將會把此引用類型的指針 值復制一份傳遞。比如:public void test(Person p){....}方法中對p的操作,是直接對P在內容中對應的數據直接操作,而不是將P對應的內容中的數據復制一份傳遞到test方法中。

㈡ java引用與C語言指針的區別是什麼

java引用與C語言指針的區別有以下幾方面:

1、現象

指針在運行時可以改變其所指向的值,而引用一旦和某個對象綁定後就不再改變,總是指向最初的對象。

2、編譯

程序在編譯時分別將指針和引用添加到符號表上,符號表上記錄的是變數名及變數所對應地址。指針變數在符號表上對應的地址值為指針變數的地址值,而引用在符號表上對應的地址值為引用對象的地址值。符號表生成後就不會再改,因此指針可以改變指向的對象(指針變數中的值可以改),而引用對象不能改。

3、類型

引用其值為地址的數據元素,java封裝了的地址,可以轉成字元串查看,長度可以不必關心;C指針是一個裝地址的變數,長度一般是計算機字長,可以認為是個int。

4、內存佔用

所佔內存:引用聲明時沒有實體,不佔空間。C指針如果聲明後會用到才會賦值,如果用不到不會分配內存。

5、內存溢出

JAVA引用的使用許可權比較小,不會產生內存溢出。C指針是容易產生內存溢出的,所以程序員要小心使用,及時回收。

6、本質

JAVA中的引用和C中的指針本質上都是想通過一個別名,找到要操作的目標(變數對象等),方便在程序里操作。所不同的是JAVA的辦法更安全,使用更加方便些,但沒有了C的靈活,高效。

㈢ C語言中的"函數指針數組"在java中怎麼實現

java不支持指針,也不支持在類外定義函數,所以如果你在java里這么做是沒有意義的,這不符合java的思想。如果你非要把重點放在函數上,你可以在類里定義函數,然後從類間接調用函數。

㈣ JAVA怎麼實現C語言的指針相同功能

我用自己的理解來講得通俗一點吧
C語言可以用一個指針值指向內存的任何一個空間,當然有很多非法的空間會被檢測出來,所有亂用指針,編譯器或者系統就會報錯。
但JAVA不同,JAVA 通過一個引用,來指向內存的一個空間,換句話說,不是你想指向哪裡,就指向哪裡,因為你定義個變數時,這個空間由系統分配,同樣,你定義一個引用,這個空間同樣由系統分配,而我們做的事情只是將這兩個由系統分配的空間進行一個指向關聯,沒有一個隨心所欲的內存指向
區別很明顯吧,我相信這樣解釋,連一個沒有任何C基礎的人都能明白,呵呵,因為這是我第一次做任務來答題,所以詳細一點,也啰嗦一點,如果還不明白,我們可以進一步交流。

㈤ Java教程為什麼說指針是 C 語言的精髓

得不到的 總是最好的
java沒指針 所以羨慕C有 哈哈
不過指針確實是C/C++的一個特色,帶來很大靈活性。
C語言最重要的一點是可以直接訪問內存地址(任意的地址,但出錯不出錯是另一回事),而指針是保存這種值的變數就非常重要。

C語言中的很多東西,實際是受限制的指針,比如數組名和函數名。
比如,指針在C語言中的一個很重要的用途是動態綁定(運行時綁定),動態綁定在C++、C#這些更高級的語言中以虛函數的方式實現,但是在C語言中沒有虛函數的概念。如運行時,才去判斷當前環境(比如系統版本、不同的許可證、有沒有相應的DLL等),用LoadLibrary和GetProcAddress調入不同的DLL中的不同函數賦值給函數指針。

㈥ JAVA引用 與 C 的指針

數組就是指針,是固定的指針,不能變更的指針。
·引用只能在定義的時候賦值,或者作為函數的參數
·引用定義的數據與沒有引用前的數據是同一數據,不同的名稱,相當於給舊數據引新名稱
·引用一旦定義,就不能改變,只能在定義時指定,並且其他所有的地方都不能去改變引用關系
當然,指針與引用之間的關系並非是一講半講的內容能夠交待得很透切.

我卻認為JAVA的使用相對安全,而且這也是大多數人認為的。

㈦ java用什麼取代c的指針

指針是程序來操作地址的。
而JAVA的一個最重要特性就是一次編輯,隨處運行。也就是說,JAVA是脫離底層硬體的,其和硬體之間有一層虛擬機。
所以JAVA是不允許操縱底層,也就是說操縱地址的,當然就不能允許使用指針了。操縱底層由於每個機器的硬體環境差別很大,所以如果JAVA只用了指針的話,就違背了JAVA的那個特點,也同時降低了程序的安全性。

不明白的可以繼續補充,呵呵。

㈧ 請大神幫忙,c中定義的指針,在java中用什麼替代

或者你可用試試泛型
就是在那個對象後面定義nextarc<ARCNODE>

㈨ Java中的對象就相當於C中的指針,this相當於指針的指針,這樣說對不對

雖然java沒有指針,但也可以這樣認為,this不是指針的指針,就是對象的指針,對象變數也是對象的指針,this是用在類裡面的
,對象變數是在類外面使用的

閱讀全文

與c指針java相關的資料

熱點內容
php開源留言板 瀏覽:49
新鄉市區疫情怎麼查詢app 瀏覽:158
我的世界伺服器怎麼弄圖 瀏覽:999
vc6的編譯框 瀏覽:198
程序員寫照 瀏覽:539
怎麼退出github伺服器版本 瀏覽:797
雲伺服器sip 瀏覽:910
對稱平衡型壓縮機 瀏覽:953
rust連接什麼伺服器 瀏覽:382
php刪除數組的空元素 瀏覽:74
有什麼古今翻譯的app 瀏覽:54
華為平板里的app熱門推薦怎麼關閉 瀏覽:731
kindle可以看pdf嗎 瀏覽:620
小米文件夾變小 瀏覽:324
為什麼安卓系統不設計橫屏 瀏覽:686
myeclipse編譯文件 瀏覽:586
水果解壓視頻教程 瀏覽:207
單片機控制的大一點的車 瀏覽:640
程序員中的榮譽 瀏覽:272
java的封裝性 瀏覽:387