ayuda por favor :s
Publicado por mr X (2 intervenciones) el 22/06/2007 00:00:57
hola, a ver si alguien me da una mano con esto:
tengo la siguiente estructura en un .h
typedef struct tsuperentero {
char *numero;
int cant;
int signo; // 1 si es positivo, 0 si es negativo
} tsuperentero;
y las siguientes funciones:
void crear_super_entero(tsuperentero *s1, int cant, int signo)
{
s1->numero = (char *) malloc (cant * sizeof(char));
s1->cant = cant;
s1->signo = signo;
}
void eliminar_super_entero(tsuperentero *s1)
{
int i;
for(i=s1->cant-1;i>0;i--){ free((*s1).numero[i]);}
free(s1->numero);
free(s1);
}
el problema que tengo es q hay veces q me tira error al eliminar (en el for) y a veces al crear un superentero. Debe quedar algun puntero colgado por ahi. No se q estoy haciendo mal :s. Si hay algun debuggerman q me pueda ayudar :D.. gracias
tengo la siguiente estructura en un .h
typedef struct tsuperentero {
char *numero;
int cant;
int signo; // 1 si es positivo, 0 si es negativo
} tsuperentero;
y las siguientes funciones:
void crear_super_entero(tsuperentero *s1, int cant, int signo)
{
s1->numero = (char *) malloc (cant * sizeof(char));
s1->cant = cant;
s1->signo = signo;
}
void eliminar_super_entero(tsuperentero *s1)
{
int i;
for(i=s1->cant-1;i>0;i--){ free((*s1).numero[i]);}
free(s1->numero);
free(s1);
}
el problema que tengo es q hay veces q me tira error al eliminar (en el for) y a veces al crear un superentero. Debe quedar algun puntero colgado por ahi. No se q estoy haciendo mal :s. Si hay algun debuggerman q me pueda ayudar :D.. gracias
Valora esta pregunta


0