elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Píldoras formativas en seguridad de la información


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, YreX-DwX)
| | |-+  Implementacion de una COLA en C, Error de ejecucion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Implementacion de una COLA en C, Error de ejecucion  (Leído 328 veces)
ianmorar03

Desconectado Desconectado

Mensajes: 43



Ver Perfil
Implementacion de una COLA en C, Error de ejecucion
« en: 14 Abril 2020, 04:02 »

Buenas, alguien me podria ayudar con este error, que significa? Busque en la web y revise mi codigo y todo esta bien, no entiendo mucho C, estoy empezando. Estoy programando en Linux, con consola, no se si alguien me pudiera ayudar, el error es el siguiente:

"Segmentation fault (core dumped)"

Estoy implementando una "Cola" (FIFO). El codigo compila sin errores, pero a la hora de ejecutarlo me muestra ese mensaje. Encontre que el problema esta en la funcion "enqueue", pero no se como solucionarlo, aqui la funcion:

Código
  1. void enqueue(int p, bool t){
  2.    struct Nodo *temp;
  3.    temp=malloc(sizeof(struct Nodo));
  4.    temp->carro->placa = p;
  5.    temp->carro->tipo = t;
  6.    temp->sig=NULL;
  7.    if (head == NULL){
  8.        head = temp;
  9.        tail = temp;
  10.    }
  11.    else{
  12.        tail->sig = temp;
  13.        tail = temp;
  14.    }
  15. }
  16.  

Si alguien me pudiera ayudar seria genial.
Gracias de antemano.


« Última modificación: 15 Abril 2020, 00:58 por ianmorar03 » En línea

Aquellos que estan locos como para pensar que pueden cambiar el mundo , son los que lo hacen.
fary
Colaborador
***
Desconectado Desconectado

Mensajes: 957



Ver Perfil WWW
Re: Implementacion de una COLA en C, Error de ejecucion
« Respuesta #1 en: 14 Abril 2020, 07:44 »

¿Quizás así?

Código
  1. void enqueue(int p, bool t){
  2.    struct Nodo *temp;
  3.    temp=malloc(sizeof(struct Nodo));
  4.    temp->carro.placa = p;
  5.    temp->carro.tipo = t;
  6.    temp->sig=NULL;
  7.    if (head == NULL){
  8.        head = temp;
  9.        tail = temp;
  10.    }
  11.    else{
  12.        tail->sig = temp;
  13.        tail = temp;
  14.    }
  15. }

saludos.


En línea

Un byte a la izquierda.
RayR

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: Implementacion de una COLA en C, Error de ejecucion
« Respuesta #2 en: 14 Abril 2020, 16:42 »

Dado que usas el operador de flecha con carro y tu código compila sin errores, ese miembro es un puntero, pero no estás reservando memoria para él. Haz eso y debería solucionarse tu problema.
En línea

ianmorar03

Desconectado Desconectado

Mensajes: 43



Ver Perfil
Re: Implementacion de una COLA en C, Error de ejecucion
« Respuesta #3 en: 15 Abril 2020, 00:57 »

Dado que usas el operador de flecha con carro y tu código compila sin errores, ese miembro es un puntero, pero no estás reservando memoria para él. Haz eso y debería solucionarse tu problema.

Efectivamente RayR, el problema se soluciona reservando la memoria para el carro, dado que es un problema de Segmentacion, no se puede acceder a esa parte en memoria por que no existe, a diferencia de C++ los punteros no trabajan de la misma manera en C.
Gracias por sus aportes.
En línea

Aquellos que estan locos como para pensar que pueden cambiar el mundo , son los que lo hacen.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error de ejecucion
Programación Visual Basic
At0XXXic0 4 838 Último mensaje 19 Marzo 2008, 19:49
por At0XXXic0
Error de ejecucion
Programación C/C++
0xDani 0 559 Último mensaje 14 Junio 2012, 20:06
por 0xDani
pasar datos de una cola dinámica a otra cola...
Programación C/C++
include (); 4 5,523 Último mensaje 10 Agosto 2012, 10:01
por BlackZeroX (Astaroth)
Error de ejecucion
Programación C/C++
JulioRL8 2 832 Último mensaje 14 Junio 2016, 19:47
por JulioRL8
Error de ejecucion
Programación C/C++
JulioRL8 0 537 Último mensaje 16 Junio 2016, 17:10
por JulioRL8
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines