2012-06-27 8 views

Respuesta

9

elementos de la matriz siempre están espaciados a distancias iguales en la memoria, por lo que encontrar un elemento dado un índice requiere una multiplicación por el tamaño del elemento y una adición de la base de la matriz en la memoria. Ambas operaciones se realizan a menudo dentro del espacio de una sola instrucción en hardware empleando un modo de direccionamiento apropiado.

3

debajo ... es una dirección de memoria + (Postion índice * el tamaño de las cosas de la matriz)

0

Prueba de esto,

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};

Ahora es como este

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 mantendrá la dirección del primer elemento de la matriz que es 1. "arr" que es una variable de matriz de referencia de objeto, estará dentro del objeto y {1,2,3,4,5} afuera en algún lugar del montón.

0

Los elementos de matriz se almacenan en un bloque consecutivo, si crecen deben moverse a un lugar nuevo. A continuación, se accede a los elementos usando un desplazamiento desde donde comienza la matriz.

En C se puede acceder al elemento de índice i en una matriz llamada un utilizando dos métodos diferentes:

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

Esto es más o menos cómo se hace en Java bajo el capó.

Cuestiones relacionadas