6

先日、カーニハンとロブ・パイクによるプログラミングの実践を読んでいました。

第 2 章の「検索」セクションで、これらの行のいくつかを読んで、頭が混乱しました。

「静的な表形式のデータを格納するための配列に勝るものはありません。コンパイル時の初期化により、そのような配列を安価かつ簡単に作成できます。(Java では、初期化は実行時に行われますが、配列が大きくない限り、これは重要でない実装の詳細です。 )"

私の質問は、ユーザーが実行時にのみ配列または変数を提供し、変数のメモリ割り当ても実行時に行われる場合、どの言語でも配列または変数のコンパイル時の初期化をどのように行うことができるかということです。メモリアドレスを知らなくても、配列を初期化する方法はありますか?

4

3 に答える 3

0

からJLS

10.2. 配列変数

配列型の変数は、オブジェクトへの参照を保持します。配列型の変数を宣言しても、配列オブジェクトが作成されたり、配列コンポーネントにスペースが割り当てられたりすることはありません。配列への参照を含むことができる変数自体のみを作成します。

ただし、宣言子の初期化部分 (§8.3、§9.3、§14.4.1) は配列を作成することができ、その参照が変数の初期値になります。

于 2013-10-29T10:14:00.677 に答える