codice:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct record_pila
       {char stringa;
       struct record_pila *punt;};      
typedef struct record_pila rec_pila;

int x;
char str[1000];
int strlen (char *);
void visualizza (rec_pila *t);
void inserimento(char, rec_pila **);

void main()
{
     rec_pila *testa=NULL;
     printf("Inserisci una stringa:  ");
     scanf("%s",str);
     printf("La stringa # %s # ha lunghezza pari a %d caratteri", str, strlen(str));      
     x = strlen(str);
     inserimento(str, &testa);
     visualizza(&testa);
}
void visualizza(rec_pila *t)
{
     int i=1;
     if (t==NULL)
          printf("pila vuota.");
     else 
     while (t!=NULL)
     {printf("%c\n",t->stringa);t=t->punt;}
} 

void inserimento(char str, rec_pila **t)
{
     rec_pila *p;
     p=(rec_pila*)malloc(sizeof(rec_pila));
     p->stringa=x;
     p->punt=(*t);
     *t=p;
     getch();
}
i problemi che ho sono 2:
1) non capisco perchè non mi inserisce i valori della stringa nella coda e non me li visualizza;
2)non so come fare per fargli salvare la pila su file.

Scusate per prima ma credevo fosse più complicato lavorare su uno script già esistente.