C/Visual C - asignacion dinamica de memoria

 
Vista:

asignacion dinamica de memoria

Publicado por luis (1 intervención) el 18/09/2002 15:52:03
Como hago para la asignacion dinamica de una matriz de n filas por n columnas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:asignacion dinamica de memoria

Publicado por José Carlos García (11 intervenciones) el 18/09/2002 18:22:01
Para la asignación dinámica de memoria debes usar las instrucciones malloc, calloc y realloc, y esta última para reasignar el espacio de memoria reservada.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:asignacion dinamica de memoria

Publicado por Victor Sanchez2 (15 intervenciones) el 18/09/2002 23:36:23
Si no me equivoco o cometo alguna errata esto debería ser lo que debes poner:
Si es una matriz de enteros:

int **matriz;

/* Reservamos memoria para las filas */
matriz = (int **) malloc(n * (sizeof(int *));

/* Reservamos memoria para las columnas */
for (i=0; i<n; i++)
matriz[i] = (int *) malloc(n * sizeof(int));

/* Liberamos la memoria */
for (i=0; i<n; i++)
free(matriz[i]);
free(matriz);

Esperemos que esté bien, lo he hecho sin consultar los apuntes ni nada, pero bueno, si tienes algún problema dímelo y lo miraré detenidamente.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:asignacion dinamica de memoria

Publicado por Oliver++ (339 intervenciones) el 19/09/2002 14:49:50
para hacer esto, no te compliques mucho. Haz lo siguiente:
si vas a definir una matriz n x m... de enteros
int* iMatriz = new int [ n * m ];
y para acceder a los datos haz lo siguiente:
iMatriz [ a * num +c];

siendo 'a' la fila a acceder, 'c' la columna a acceder y 'num' el numero total de columnas que tiene la matriz que definiste, osea num sera igual a m.
todo esto lo puedes encapsular en una clase matriz, yo tengo una escrita si quieres te la paso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar