C/Visual C - Coredump en Malloc

 
Vista:

Coredump en Malloc

Publicado por Laury (1 intervención) el 12/10/2002 09:18:45
Cual puede ser la causa de un coredump con illegal instruction
(en ambiente UNIX) que sucede luego de :

nodo = (struct nodos*) (malloc(siseof(struct nodos)));

sin embargo si realizo previamente a esto

if ((malloc(siseof(struct nodos))) == NULL )

devuelve que no es NULO

evidentemente problema de falta de recursos no es

la estructura no tiene mayor compleijdad

gracias



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:Coredump en Malloc

Publicado por El Mogur (202 intervenciones) el 12/10/2002 20:05:13
Cuando pides memoria, y da fallos, normalmente suele ser porque antes de pedir la memoria, has dañado el sistema de memoria dinámica de C. Me explico, antes de la ejecución de ese malloc, has pedido memoria por ejemplo para un array 20 de caracteres, y has escrito en el 21; si esa zona (el 21) correspondía a datos de la estructura de la memoria dinámica que utiliza el malloc/free, en la siguiente ejecución, falla.

Espero que te sirva.
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