none
Hola. Queria saber cuanta memoria ocupa un array de 65536 elemento? RRS feed

  • Pregunta

  • Hola. Queria saber cuanta memoria ocupa un array de 65536 elemento? Todos vacios menos uno, por ejemplo el nro 32768 ocupado con un byte? Muchas gracias!
    sábado, 31 de agosto de 2019 22:11

Todas las respuestas

  • El array de 65536 elementos ocupa la suma de lo que ocupen todos los elementos, que puede ser diferente por cada elemento según el tipo de elemento de que se trate.

    Por ejemplo, si es un array de int, dado que cada int siempre ocupa 4 bytes, la ocupación sería de 65536*4. En este caso, ninguno podría estas vacío; los int siempre tienen que tener un valor, aunque sea cero, que ocupa 4 bytes igual que cualquier otro.

    Pero si el array es, por ejemplo, un array de strings, entonces cada uno de los strings puede tener una longitud diferente. Habría que tomarlos todos, sumar lo que mide cada uno, y sumar lo que ocupa cada una de las referencias que permiten que el string sea accesible desde el array (si no me equivoco, 10 bytes por cada referencia). Si uno de ellos está "vacío" (en el sentido de que es null, no de que contiene una cadena con cero caracteres, que es diferente que un null), entonces únicamente ocupa los 10 bytes de la referencia.

    Los int y string son solo dos ejemplos. Podrías tener un array de otro tipo de objeto, en cuyo caso habría que analizar las características del objeto para calcular cuántos bytes ocupa por elemento.

    domingo, 1 de septiembre de 2019 6:30
    Moderador