#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
struct tipo_lista{
int info;
struct tipo_lista * prox;
};
typedef struct tipo_lista tipo_lista;
tipo_lista * cria_no (int valor)
{
tipo_lista * novo;
novo
= (tipo_lista
*)malloc(sizeof(tipo_lista
)); novo -> info = valor;
novo -> prox = NULL;
return novo;
}
bool inserir_fim (tipo_lista * p, tipo_lista * novo_no)
{
if (!p) {
return false;
}
while (p->prox) {
p = p->prox;
}
p->prox = novo_no;
return true;
}
int main(void) {
tipo_lista * p = cria_no(1);
inserir_fim(p, cria_no(2));
printf("%d %d\n", p
->info
, p
->prox
->info
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRib29sLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCB0aXBvX2xpc3RhewogICAgaW50IGluZm87CiAgICBzdHJ1Y3QgdGlwb19saXN0YSAqIHByb3g7Cn07Cgp0eXBlZGVmIHN0cnVjdCB0aXBvX2xpc3RhIHRpcG9fbGlzdGE7CiAKdGlwb19saXN0YSAqIGNyaWFfbm8gKGludCB2YWxvcikKewogICAgdGlwb19saXN0YSAqIG5vdm87CiAgICBub3ZvID0gKHRpcG9fbGlzdGEgKiltYWxsb2Moc2l6ZW9mKHRpcG9fbGlzdGEpKTsKICAgIG5vdm8gLT4gaW5mbyA9IHZhbG9yOwogICAgbm92byAtPiBwcm94ID0gTlVMTDsKICAgIHJldHVybiBub3ZvOwp9CiAKYm9vbCBpbnNlcmlyX2ZpbSAodGlwb19saXN0YSAqIHAsIHRpcG9fbGlzdGEgKiBub3ZvX25vKQp7CiAgICBpZiAoIXApIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAKICAgIHdoaWxlIChwLT5wcm94KSB7CiAgICAgICAgcCA9IHAtPnByb3g7CiAgICB9CiAKICAgIHAtPnByb3ggPSBub3ZvX25vOwogCiAgICByZXR1cm4gdHJ1ZTsKfQoKaW50IG1haW4odm9pZCkgewoJdGlwb19saXN0YSAqIHAgPSBjcmlhX25vKDEpOwoJaW5zZXJpcl9maW0ocCwgY3JpYV9ubygyKSk7CglwcmludGYoIiVkICVkXG4iLCBwLT5pbmZvLCBwLT5wcm94LT5pbmZvKTsKCXJldHVybiAwOwp9Cg==