#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Pilha {
int topo;
char **proxElemento;
};
void criaPilha (struct Pilha *p){
p->topo = -1;
}
void insereItem (struct Pilha *p, char * nome) {
p->topo++;
p
->proxElemento
[p
->topo
] = malloc(31); strcpy(p
->proxElemento
[p
->topo
], nome
); }
void imprimir(struct Pilha *p) {
printf("%s \n", p
->proxElemento
[p
->topo
]); }
int main() {
char nome[31];
struct Pilha pilhaLivros;
criaPilha(&pilhaLivros);
insereItem(&pilhaLivros, nome);
imprimir(&pilhaLivros);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKc3RydWN0IFBpbGhhIHsKICAgIGludCB0b3BvOwogICAgY2hhciAqKnByb3hFbGVtZW50bzsKfTsKCnZvaWQgY3JpYVBpbGhhIChzdHJ1Y3QgUGlsaGEgKnApewogICAgcC0+dG9wbyA9IC0xOwogICAgcC0+cHJveEVsZW1lbnRvID0gbWFsbG9jKDEwKTsKfQoKdm9pZCBpbnNlcmVJdGVtIChzdHJ1Y3QgUGlsaGEgKnAsIGNoYXIgKiBub21lKSB7CiAgICBwLT50b3BvKys7CiAgICBwLT5wcm94RWxlbWVudG9bcC0+dG9wb10gPSBtYWxsb2MoMzEpOwogICAgc3RyY3B5KHAtPnByb3hFbGVtZW50b1twLT50b3BvXSwgbm9tZSk7Cn0KCnZvaWQgaW1wcmltaXIoc3RydWN0IFBpbGhhICpwKSB7CiAgICBwcmludGYoIiVzIFxuIiwgcC0+cHJveEVsZW1lbnRvW3AtPnRvcG9dKTsKfQoKaW50IG1haW4oKSB7CiAgICBjaGFyIG5vbWVbMzFdOwogICAgc3RydWN0IFBpbGhhIHBpbGhhTGl2cm9zOwoKICAgIHNjYW5mKCIlcyIsIG5vbWUpOwoKICAgIGNyaWFQaWxoYSgmcGlsaGFMaXZyb3MpOwogICAgaW5zZXJlSXRlbSgmcGlsaGFMaXZyb3MsIG5vbWUpOwogICAgaW1wcmltaXIoJnBpbGhhTGl2cm9zKTsKICAgIHJldHVybiAwOwp9