memoria dinamica
Publicado por El LoCo (5 intervenciones) el 27/07/2002 18:52:38
Hola!
Tengo un problema cuando quiero trabajar con matrices.
Si pido la memoria asi:
matriz=(double**) malloc (fila * columna * sizeof(double));
no me permite hacer:
scanf (\"%lf\",matriz[i][j]); /*por ejemplo*/
Y si pido la memoria:
int i;
if((fila=(double **)malloc(f * sizeof(double *)))==NULL)
return ERROR;
for (i=0; i<f; i++)
if ((*(fila+i)=(double *)malloc(c * sizeof(double)))==NULL) {
printf (\"Memoria insuficiente\\n\");
free (fila);
fila=NULL;
return ERROR;
}
return OK;
Funciona todo bien, pero tengo problemas para liberar toda la memoria pedida, ya que primero pedi una columna del largo de la fila, y luego pedi varias filas de tamaño columna, y utilice la primera para guardar punteros.
Si alguien me puede ayudar, se los agradezco.
Tengo un problema cuando quiero trabajar con matrices.
Si pido la memoria asi:
matriz=(double**) malloc (fila * columna * sizeof(double));
no me permite hacer:
scanf (\"%lf\",matriz[i][j]); /*por ejemplo*/
Y si pido la memoria:
int i;
if((fila=(double **)malloc(f * sizeof(double *)))==NULL)
return ERROR;
for (i=0; i<f; i++)
if ((*(fila+i)=(double *)malloc(c * sizeof(double)))==NULL) {
printf (\"Memoria insuficiente\\n\");
free (fila);
fila=NULL;
return ERROR;
}
return OK;
Funciona todo bien, pero tengo problemas para liberar toda la memoria pedida, ya que primero pedi una columna del largo de la fila, y luego pedi varias filas de tamaño columna, y utilice la primera para guardar punteros.
Si alguien me puede ayudar, se los agradezco.
Valora esta pregunta


0