C/Visual C - Liberar memoria dinamica

 
Vista:

Liberar memoria dinamica

Publicado por cristi (1 intervención) el 06/11/2006 15:38:45
Hola¡¡ Tengo un problema al liberar memoria de una matriz cuando ésta es de más de dos dimensiones. Por ejemplo, si la matriz es de tres dimensiones, A[dim3][dim2][dim1], lo que hago para liberarla es lo siguiente:
for(i=0;i<dim3;i++)
{
for(j=0;j<dim2;j++)
{
free(A[i][j]);
}
free(A[i]);
}
free(A);

Alguien me puede decir que estoy haciendo mal?

Muchas gracias a todos.
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:Liberar memoria dinamica

Publicado por Tom (17 intervenciones) el 08/11/2006 10:51:15
¿ Y dim1 ? ¿te cae mal? :-D

for(i=0; i < dim3; i++) {
for(j=0; j < dim2; j++) {
for(k=0; k < dim1; k++) {
free(A[i][j][k]);
}
free(A[i][j]);
}
free(A[i]);
}
// Esto depende de cómo hayas definido el array
free(A);
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