Locke
18/10/2004, 21:07
Ya ves, una funcion de las mas necesarias y me acabo de dar cuenta de que quizas no la sepa usar :D
A ver, segun tengo entendido simplemente reserva la cantidad de memoria en bytes y devuelve la direccion de la primera posicion. Me funciona bien excepto si el puntero donde almaceno el resultado es un argumento de la funcion desde donde llamo a malloc. Pongo un ejemplo:
void reserva_memoria (mi_variable *puntero)
{
puntero = (mi_variable *) malloc ( 5 * sizeof (mi_variable));
}
void principal ()
{
mi_variable *puntero = NULL;
reserva_memoria (puntero);
}
Alguna idea de por que puede fallar?
Muchas cenkius ;)
A ver, segun tengo entendido simplemente reserva la cantidad de memoria en bytes y devuelve la direccion de la primera posicion. Me funciona bien excepto si el puntero donde almaceno el resultado es un argumento de la funcion desde donde llamo a malloc. Pongo un ejemplo:
void reserva_memoria (mi_variable *puntero)
{
puntero = (mi_variable *) malloc ( 5 * sizeof (mi_variable));
}
void principal ()
{
mi_variable *puntero = NULL;
reserva_memoria (puntero);
}
Alguna idea de por que puede fallar?
Muchas cenkius ;)