#include <stdio.h>
#include <stdlib.h>
/* define a struct TAD lista */
struct lista {
float info; /* dado */
struct lista *prox; /* ponteiro para o proximo elemento */
};
typedef struct lista Lista;
Lista* lista_insere( Lista* l, float info )
{
Lista
* novo
= (Lista
*) malloc(sizeof(Lista
)); novo->info = info;
novo->prox = l;
return novo;
}
int main(int argc, char **argv) {
Lista *lista;
/* cria a lista */
lista = NULL;
/* cria dados para inserir */
float x = 1.0, y = 2.5;
/* insere os dois pontos */
lista = lista_insere(lista, x);
printf("X (1.0) inserido...\n"); lista = lista_insere(lista, y);
printf("Y (2.5) inserido...\n");
Lista* p = lista;
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCiAgIC8qIGRlZmluZSBhIHN0cnVjdCBUQUQgbGlzdGEgKi8Kc3RydWN0IGxpc3RhIHsKICAgIGZsb2F0IGluZm87ICAgICAgICAgLyogZGFkbyAqLwogICAgc3RydWN0IGxpc3RhICpwcm94OyAvKiBwb250ZWlybyBwYXJhIG8gcHJveGltbyBlbGVtZW50byAqLwp9Owp0eXBlZGVmIHN0cnVjdCBsaXN0YSBMaXN0YTsKCkxpc3RhKiBsaXN0YV9pbnNlcmUoIExpc3RhKiBsLCBmbG9hdCBpbmZvICkKewogICAgTGlzdGEqIG5vdm8gPSAoTGlzdGEqKSBtYWxsb2Moc2l6ZW9mKExpc3RhKSk7CiAgICBub3ZvLT5pbmZvID0gaW5mbzsKICAgIG5vdm8tPnByb3ggPSBsOwogICAgcmV0dXJuIG5vdm87Cn0KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgICBMaXN0YSAqbGlzdGE7CgogICAgLyogY3JpYSBhIGxpc3RhICovCiAgICBsaXN0YSA9IE5VTEw7CgogICAgLyogY3JpYSBkYWRvcyBwYXJhIGluc2VyaXIgKi8KICAgIGZsb2F0IHggPSAxLjAsIHkgPSAyLjU7CgogICAgLyogaW5zZXJlIG9zIGRvaXMgcG9udG9zICovCiAgICBsaXN0YSA9IGxpc3RhX2luc2VyZShsaXN0YSwgeCk7CiAgICBwcmludGYoIlggKDEuMCkgaW5zZXJpZG8uLi5cbiIpOwogICAgbGlzdGEgPSBsaXN0YV9pbnNlcmUobGlzdGEsIHkpOwogICAgcHJpbnRmKCJZICgyLjUpIGluc2VyaWRvLi4uXG4iKTsgICAgCiAgICAKICAgIExpc3RhKiBwID0gbGlzdGE7CiAgICBwcmludGYoIiVmIiwgcC0+aW5mbyk7CiAgICByZXR1cm4gMDsgICAgCn0=