Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problemas con malloc()

Estas en el tema de Problemas con malloc() en el foro de C/C++ en Foros del Web. Buenos días. Estoy teniendo un problema con malloc() que me impide seguir. Tengo tres estructuras creadas para enlazarlas según convenga. El problema es que cuando ...
  #1 (permalink)  
Antiguo 09/05/2011, 02:02
 
Fecha de Ingreso: mayo-2011
Mensajes: 15
Antigüedad: 13 años, 7 meses
Puntos: 0
Problemas con malloc()

Buenos días.

Estoy teniendo un problema con malloc() que me impide seguir.

Tengo tres estructuras creadas para enlazarlas según convenga. El problema es que cuando lanzo la aplicación, me crea un nodo, pero al siguiente casca en la ejecución de malloc().

No devuelve nulo (que lo tengo controlado) sino que peta y corta ejecución.

Os pongo las estructuras y la llamada a malloc():

typedef struct campodato1 {
char senal1_nombre[60];
char senal1_nombre_var[60];
char senal1_modo_io[15];
char senal1_tipo_dato[15];
int valor1;
int next_nodo1;
struct campodato1 *siguiente1;
}nodo1;

typedef struct campodato2 {
char senal2_nombre[60];
char senal2_nombre_var[60];
char senal2_modo_io[15];
char senal2_tipo_dato[15];
float valor2;
int next_nodo2;
struct campodato2 *siguiente2;
}nodo2;


//////////////////////////////////////////

printf ("control antes de malloc\n");
nuevo_elemento1 = (nodo1 *) malloc ( sizeof (nodo1));
printf ("control despues de malloc\n");


He probado a quitar los tres primeros campos de las estructuras y ya no peta... Hay algún tipo de límite?? se puede cambiar??.

Muchas gracias por todo!
  #2 (permalink)  
Antiguo 09/05/2011, 08:29
 
Fecha de Ingreso: mayo-2011
Mensajes: 15
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problemas con malloc()

Bueno, al parecer el problema es de Windows 7. Lo he compilado y ejecutado en Windows XP y ha corrido sin problemas.

Ahora tengo otra duda.

Cuando pongo el siguiente printf:
printf ("*nombre: %s *\n", nuevo_elemento1->senal1_nombre);

me sale un display con los valores de todas las variables de la estructura. Yo pensaba que solo debía salir la que yo indico, pero parece que salen todas a partir de la que yo le indique.

¿Alguien me puede ayudar?
  #3 (permalink)  
Antiguo 09/05/2011, 10:20
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: Problemas con malloc()

Estas poniendo el caracter de fin de cadena ('\0')en cada array de caracteres?
  #4 (permalink)  
Antiguo 11/05/2011, 07:37
 
Fecha de Ingreso: mayo-2011
Mensajes: 15
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problemas con malloc()

Efectivamente era eso.

Muchas gracias por todo.

Etiquetas: malloc
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:45.