Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/11/2010, 08:51
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con funciones

El mensaje "violación de segmento" aparece cuando el programa se ejecuta, así que SÍ está compilando. Usá un depurador (gdb, por ejemplo) para saber qué línea del archivo está provocando el problema. Si estás en Linux, valgrind se puede convertir en tu mejor amigo.

El error "violación de segmento", se da cuando intentás escribir en un área de memoria que no reservaste. Un índice mal puesto o mal calculado y ¡bam! Segfault

Las matrices por lo general se pasan como punteros al tipo de dato que guardan:

int mimatriz[10] = ...

funcion(mimatriz)

y la firma de "mimatriz" es, por ejemplo

int mimatriz(int* matriz)

dentro de la función accedés a los elementos normalmente, como matriz[i]. Cada cambio que se haga en la matriz, se hace en la original, porque lo que mandaste a la función fue un puntero. No necesitás devolver el valor.

Para datos más específicos, deberías depurar y pegar acá la información que obtengas.


Saludos.