[C con Clase] Pila dinámica: guardar datos.
Gustavo Adolfo Torres Ortega
gusgura en hotmail.com
Vie Feb 26 03:53:28 CET 2010
Hola, que tal.
Estoy estudiando sobre estructuras de datos, y me pidieron que guardara datos en una pila dinámica.
El problema es que no sé si estoy declarando funciones y valores como debería, ya que cuando compilo mi programa con NetBeans, me aparece un error que dice lo siguiente:
Error while dumping state (Probably corrupted stack).
¿En qué está mal mi código?
#include <stdio.h>
#include <stdlib.h>
struct Pila
{
char dato;
struct Pila *base;
};
typedef struct Pila Pila;
int push(Pila *a, char d);
char pop (Pila *a);
int empty(Pila *a);
int main()
{
Pila *a;
a=NULL;
char d='a';
if(push(&a,d)) //Por el momento solo guardo un solo valor.
printf("\nValor guardado: %c",a->dato);
else
printf("\nValor no guardado\n");
printf("\n\n\t");
return 0;
}
int push(Pila *a, char d)
{
Pila *aux;
aux=(Pila*)malloc(sizeof(Pila));
if(aux!=NULL)
{
aux->dato=d;
aux->base=a;
a->base=aux;
return 1;
}
return 0;
}
char pop (Pila *a)
{
char d=a->dato;
Pila *aux;
aux=(Pila*)malloc(sizeof(Pila));
aux=a->base;
free(a);
a->base=aux;
return d;
}
int empty(Pila *a)
{
if(a==NULL)
return 1;
return 0;
}
_________________________________________________________________
Prefiero un día sin coche que sin Messenger
www.vivirmessenger.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100225/a66048bb/attachment.html>
Más información sobre la lista de distribución Cconclase