Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/05/2015, 01:09
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Problema con Programa en C

Código C:
Ver original
  1. char *arraycola[N];

¿Qué estás pretendiendo conseguir con esa declaración?
  • almacenar un número indeterminado de cadenas de longitud N??
  • almacenar N cadenas de longitud indeterminada??
  • almacenar una única cadena de caracteres pero te has confundido al añadir el asterisco??

Si tu respuesta es una de las dos primeras tengo una mala noticia para tí... el asterisco indica que hay memoria que vas a gestionar de forma dinámica (con malloc, free)... pero tú no estás haciendo tal cosa. En su lugar estás accediendo a memoria no reservada (y eso es lo que hace que tu programa falle).

Imagino que lo que intentas es la opción 2... en ese caso puedes evitar el uso de memoria dinámica si pasas a usar una array de longitud fija:

Código C:
Ver original
  1. char arrayCola[N][100];

El ejemplo anterior declara un array de N elementos, cada uno de los cuales te permitirá almacenar una cadena de hasta 100 caracteres (no te olvides de que el caracter nulo de final de cadena también cuenta). Basta con que adaptes ese '100' a tus necesidades.

Un saludo