¿Qué es lo necesario para dar el tamaño de una matriz en una declaración de matriz?

La matriz es una estructura de datos con las siguientes propiedades:

  • La matriz tiene un tamaño fijo
  • Los datos en la matriz se almacenan en un bloque contiguo de memoria.
  • Una matriz contiene los datos del mismo tipo de datos.

Sin embargo, podemos crear una matriz dinámica que duplique su tamaño después de que la matriz esté completamente llena. Debe evitarse si la memoria es un problema.

clase pública DynamicArray {
static int [] raiseSizeOfArray (int [] arr) {
int [] brr = new int [(longitud de arr. * 2)];
for (int i = 0; i <longitud de arr; i ++) {
brr [i] = arr [i];
}
volver brr;
}
public static void main (String [] args) {
int [] arr = nuevo int [5];
para (int i = 0; i <11; i ++) {
if (i <longitud de arr) {
arr [i] = i + 100;
}
más {
arr = aumento de tamaño de matriz (arr);
arr [i] = i + 100;
}
}

for (int i = 0; i <longitud de arr; i ++) {
System.out.println (“arr =” + arr [i]);
}
}

}

En Java tenemos ArrayList en el paquete java.util.Collection, que es de naturaleza dinámica y no requiere un tamaño fijo.

En python hay una “lista” que es como una matriz, pero no tiene restricciones de tamaño y tipo de datos similar, ya que python es un lenguaje de tipo dinámico. La matriz en Javascript y PHP es muy similar a las listas de Python.

Como si primero consideramos una variable simple

Int i;

Después de la declaración, escriba el código restante adicional de acuerdo con u.

De todos modos, primero el compilador leyó la declaración int i;

Y asegúrese de que la memoria para la variable i y en tiempo de ejecución asigne memoria a la variable de acuerdo con el tipo de datos. De manera similar, la matriz también es una variable que almacena más de un dato de tipo similar. Así que si no da el tamaño de la matriz en tiempo de declaración, entonces el compilador no puede asignar memoria para esa variable y luego se producirá un error en la declaración de tiempo de ejecución (cuando el usuario realiza la entrada en la matriz en tiempo de ejecución).

int a [];

_ _ _ _

_ _ _ _

Se producirá un error para la declaración de matriz anterior.

Pero para la declaración de tiempo de compilación puede usar una matriz de tamaño (matriz cuyo tamaño no está asignado en el momento de la declaración) por ejemplo:

int a [] = {1,2,3,4};

_ _ _ _ _

_ _ _ _ _

Entonces, para este tipo de declaración, el compilador asigna automáticamente memoria para la variable (a) de acuerdo con el número de elementos entre llaves.

La esperanza por encima del conocimiento puede despejar tu duda …

Cuando se declara una matriz, el compilador asigna una dirección base y reserva suficiente espacio en la memoria para todos los elementos de la matriz. Se requiere el tamaño para asignar el espacio requerido y, por lo tanto, se debe mencionar el tamaño.

Como la matriz era una asignación estática y la memoria se asignará durante la declaración y, por lo tanto, para asignar la cierta cantidad de memoria, el tamaño de una matriz es esencial