Bom dia, eu tenho tres lista e preciso converter elas em string para entao empilhar e desempilhar. Alguem pode me dar uma luz? Segue o cod das listas
#include <stdio.h>
#include <stdlib.h>
struct lista
{
char nome;
struct lista* prox;
};
typedef struct lista Lista;
Lista* inicializa (void)
{
return NULL;
}
Lista *insere (Lista* l, char nom1)
{
Lista *novo = (Lista*) malloc(sizeof(Lista));
novo->nome = nom1;
novo->prox = l;
}
void imprime (Lista *l,Lista *l2, Lista *l3) {
Lista* p;
Lista* p2;
Lista* p3;
printf("primeiro nome: ");
for (p = l; p != NULL; p = p->prox)
{
printf("%c", p->nome);
}
printf("\n");
printf("segundo nome: ");
for (p2 = l2; p2 != NULL; p2 = p2->prox)
{
printf("%c", p2->nome);
}
printf("\n");
printf("terceiro nome: ");
for (p3 = l3; p3 != NULL; p3 = p3->prox)
{
printf("%c", p3->nome);
}
printf("\n");
}
int main (void)
{
Lista *l;
Lista *l2;
Lista *l3;
l = inicializa();
l2 = inicializa();
l3 = inicializa();
l = insere(l, 'a');
l = insere(l, 'z');
l = insere(l, 'i');
l = insere(l, 'n');
l = insere(l, 'o');
l = insere(l, 't');
l = insere(l, 'n');
l = insere(l, 'a');
l2 = insere(l2, 'a');
l2 = insere(l2, 's');
l2 = insere(l2, 'u');
l2 = insere(l2, 'o');
l2 = insere(l2, 's');
l3 = insere(l3, 's');
l3 = insere(l3, 'i');
l3 = insere(l3, 'a');
l3 = insere(l3, 'r');
l3 = insere(l3, 'o');
l3 = insere(l3, 'm');
imprime(l,l2,l3);
return 0;