Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/12/2011, 05:15
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Inscripcion Matrices dinamicas

Primero, no has creado bien la matriz de sexo, sería:

Código C++:
Ver original
  1. pri.sexo=(char*)malloc(filas*sizeof(char));

Fíjate en el sizeof, se realiza sobre char, no sobre char * y tienes que poner filas, no columnas,

El problema creo que puede ser que no estás haciendo bien la asignación de memoria.

En el caso que tu quieres hacer (que es tener un array de cadenas de caracteres), filas se refiere al número de cadenas que tienes y columnas, al tamaño máximo de esas cadenas. Si no lo estás haciendo así está mal. Como en el código no especificas que es filas y que es columnas no te puedo decir si lo estás haciendo bien.

También podría ser que te estuviese saliendo de la memoria asignada al leer un dato (cuando usas gets, este no tiene en cuenta si lo que lee cabe dentro de la memoria reservada, y puede llegar a escribir en partes de la memoria que no han sido reservadas).

Podrían ser más cosas, pero primero mira lo que te indico arriba.

Saludos.