2012-06-27 10 views

Antwort

9

Array-Elemente werden immer in gleichen Abständen in dem Speicher angeordnet sind, so dass ein Element ein Index gegeben Auffinden erfordert eine Multiplikation mit der Größe des Elements und einer Addition der Basis des Arrays im Speicher. Beide Operationen werden oft im Rahmen eines einzelnen Befehls in Hardware ausgeführt, indem ein geeigneter Adressierungsmodus verwendet wird.

3

unterhalb ... sein eine Speicheradresse + (Index Postion * die Größe der Dinge in dem Array)

0

die Sie interessieren,

1. Arrays are consecutive memory locations which are stored in Heap, as Arrays areobjects in java.

2. Assume i have an Array of String as an instance variable

String [] arr = {1,2,3,4,5};

Jetzt sein wie diese

arr [0] = 1

arr [1] = 2

arr [2] = 3

arr [3] = 4

arr [4] = 5

{1,2,3,4,5} are stored over the heap, and Considering array "arr" as instancevariable, will lives within the object on the heap.

Nowarr wird die Adresse des allerersten Elementes des Arrays halten, das 1 ist. "arr" was eine Objektreferenzfeldvariable ist, befindet sich innerhalb des Objekts und {1,2,3,4,5} außerhalb irgendwo auf dem Haufen.

0

Array-Elemente werden in einem fortlaufenden Block gespeichert. Wenn sie wachsen, müssen sie an einen neuen Ort verschoben werden. Auf die Elemente wird dann unter Verwendung eines Versatzes von dem Punkt zugegriffen, an dem das Array beginnt.

In C das Element mit dem Index zugreifen kann i in einem Array genannt a mit zwei verschiedenen Methoden:

  • int arrayElement = a[i];
  • int arrayElement = (int)(a + i * sizeof(int));

Dies ist mehr oder weniger wie es in Java unter der Haube gemacht wird.

Verwandte Themen