ホームページ  >  記事  >  Java  >  JavaリファレンスとCポインタの違いは何ですか

JavaリファレンスとCポインタの違いは何ですか

王林
王林オリジナル
2020-02-04 14:13:592657ブラウズ

JavaリファレンスとCポインタの違いは何ですか

Java 参照と C ポインタの違いは次のとおりです:

1. 現象

ポインタは、それが指す値 (アドレス) を変更することができます。つまり、他の変数を指し、参照がオブジェクトにバインドされると変更できず、常に元のオブジェクトを指します。

2. コンパイル

プログラムがコンパイルされると、シンボルテーブルにポインタと参照がそれぞれ追加され、変数名とその変数に対応するアドレスが記録されます。

(関連ビデオチュートリアル共有: java ビデオチュートリアル)

シンボルテーブル内のポインタ変数に対応するアドレス値は、ポインタ変数のアドレス値であり、参照はシンボル テーブル内にあります。上記の対応するアドレス値は、参照されるオブジェクトのアドレス値です。シンボルテーブルは生成後に変更されないため、ポインタは変更できます。そのため、ポインタは指すオブジェクトを変更できます(ポインタ変数の値は変更できます)が、参照オブジェクトは変更できません。

3. 型

は、値がアドレスであるデータ要素を参照します。Java によってカプセル化されたアドレスは、表示するために文字列に変換できます。長さを気にする必要はありません。 C ポインタはアドレスを保持する変数です。長さは一般にコンピュータのワード長であり、int

4 と見なすことができます。メモリ占有

メモリ占有: があります。参照が宣言されているときはエンティティは存在せず、領域を占有しません。C ポインタが宣言されている場合は、それが使用されます。値が割り当てられるのはそのときだけです。使用されない場合、メモリは割り当てられません。

5. メモリ オーバーフロー

Java 参照の使用権は比較的小さいため、メモリ オーバーフローは発生しません。 C ポインタはメモリ オーバーフローを起こしやすいため、プログラマは C ポインタを注意深く使用し、適時にリサイクルする必要があります。

おすすめの関連記事とチュートリアル: Java 入門チュートリアル

以上がJavaリファレンスとCポインタの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。