\r\n\r\n
ポインタと配列
ポインタは、メモリ位置への参照を格納するデータ型(すなわち、ポインタ変数がデータを格納するメモリ位置のアドレス)である。配列は、エレメントセットを格納する最も一般的なデータ構造です。ほとんどのプログラミング言語では、配列を簡単に宣言し、配列内の要素にアクセスする方法が提供されています。
ポインタとは?
ポインタは、特定のデータを格納するメモリ位置のアドレスを格納するデータ型です。すなわち、ポインタはメモリの位置への参照を保存します。ポインタ参照のメモリ位置に格納されているデータへのアクセスを非参照と呼びます。ポインタを使用すると、ツリー/文字列、テーブル検索などの繰り返し操作を実行すると、パフォーマンスが向上します。これは、実際のポインタのコピーとアクセスポインタが指すデータよりも参照とコピーを取り消すポインタが安いためです。空のポインタは、オブジェクトを指さないポインタです。Javaでは、NullポインターにアクセスするとNull PointerExceptionと呼ばれる例外が生成されます。
配列とは?
図1に示すように、通常は宣言して配列に値を割り当てるためのコードです。【図2】メモリ内の配列の様子を示す図である。
int値[5];値[0]=100;値[1]=101;値[2]=102;値[3]=103;値[4]=104; |
図1:配列値の宣言と割り当てのコード
100 | 101 | 102 | 103 | 104 |
索引:0 | 1 | 2 | 三 | 4 |
図2:メモリに格納されている配列
上記のコードは、5つの整数を格納できる配列を定義し、インデックス0〜4を使用してアクセスします。配列の各要素には重要な配列が割り当てられています。配列が定義されると、そのサイズは固定されます。したがって、コンパイル時に配列のサイズが不明な場合は、セキュリティを保証するために十分な配列を定義する必要があります。しかし、ほとんどの場合、私たちが実際に使用している要素の数は、私たちが割り当てた数より少ないです。だからかなりのメモリが実際に浪費されています。一方,「十分な配列」が実際に大きくなければプログラムはクラッシュする.
ポインタと配列の違いは何ですか?