<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hola, que tal.<br><br>Estoy estudiando sobre estructuras de datos, y me pidieron que guardara datos en una pila dinámica.<br>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:<br><br>Error while dumping state (Probably corrupted stack).<br><br>¿En qué está mal mi código?<br><br><br>#include <stdio.h><br>#include <stdlib.h><br><br>struct Pila<br>{<br>  char dato;<br>  struct Pila *base;<br>};<br><br>typedef struct Pila Pila;<br><br>int push(Pila *a, char d);<br>char pop (Pila *a);<br>int empty(Pila *a);<br><br>int main()<br>{<br>  Pila *a;<br>  a=NULL;<br>  char d='a';<br>  if(push(&a,d))                   //Por el momento solo guardo un solo valor.<br>    printf("\nValor guardado: %c",a->dato);<br>  else<br>    printf("\nValor no guardado\n");<br>  printf("\n\n\t");<br>  return 0;<br>}<br><br>int push(Pila *a, char d)<br>{<br>  Pila *aux;<br>  aux=(Pila*)malloc(sizeof(Pila));<br>  if(aux!=NULL)<br>  {<br>    aux->dato=d;<br>    aux->base=a;<br>    a->base=aux;<br>    return 1;<br>  }<br>  return 0;<br>}<br><br>char pop (Pila *a)<br>{<br>  char d=a->dato;<br>  Pila *aux;<br>  aux=(Pila*)malloc(sizeof(Pila));<br>  aux=a->base;<br>  free(a);<br>  a->base=aux;<br>  return d;<br>}<br><br>int empty(Pila *a)<br>{<br>  if(a==NULL)<br>    return 1;<br>  return 0;<br>}<br>                                    <br /><hr />¿Te falta espacio para tus correos?  <a href='www.hotmailhotness.com.mx' target='_new'>Enciende tu hotness con Hotmail</a></body>
</html>