Saltar al contenido

Declarar un puntero a multidimensional array y asignando el array

Después de consultar con expertos en esta materia, programadores de diversas ramas y profesores dimos con la solución a la pregunta y la plasmamos en este post.

Solución:

const int someheight = 3;
const int somewidth = 5;

int (*array)[somewidth] = new int[someheight][somewidth];

Acabo de encontrar que esta respuesta antigua todavía se lee, lo cual es una pena, ya que está mal. Mire la respuesta a continuación con todos los votos en su lugar.


Lea sobre la sintaxis del puntero, necesita un array de matrices. Que es lo mismo que un puntero a un puntero.

int width = 5;
int height = 5;
int** arr = new int*[width];
for(int i = 0; i < width; ++i)
   arr[i] = new int[height];

Un ejemplo listo para usar de aquí, después de unos segundos de googlear con la frase "dinámica bidimensional array":

int **dynamicArray = 0;

// memory allocated for elements of rows. 
dynamicArray = new int *[ROWS];

// memory allocated for  elements of each column.  
for( int i = 0 ; i < ROWS ; i++ ) 
    dynamicArray[i] = new int[COLUMNS];


// free the allocated memory 
for( int i = 0 ; i < ROWS ; i++ ) 
    delete [] dynamicArray[i];

delete [] dynamicArray;

valoraciones y reseñas

Tienes la opción de añadir valor a nuestro contenido informacional colaborando tu experiencia en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *