Lista

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <stdlib.h> // para alocar memória (malloc) // Aqui definimos a estrutura que será usada // para gerar a lista, a qual ira conter apenas // o valor a ser armazenado e se sucessor. typedef struct estru { int num; struct estru *prox; // *prox será outra estrutura // dentro da mesma } lista; // nome que usaremos para chamar essa estrutura lista *p, *q, *start=NULL; // 2 ponteiros de apoio e o inicio da lista // Função responsavel por adicionar um nova estrtura a lista pushToList(int val) { p = malloc(sizeof(lista)); // ponteiro do tamanho da estrutura p->num = val; // estrura num recebe um valor // caso seja o primeiro valor, // o começo da lista é definido if(start == NULL) start = p; // Caso contrario q->prox (nó anterior) recebe esse nó else q->prox = p; q = p; // esse nó é salvo para ser usado em seguida } showList() { p = start; while(p != NULL) { printf("%d -> ", p->num); // Mostra valor dentro do nó p = p->prox; // avança a lista } printf("Fim da lista"); } int main(void) { int numero; while(1) { printf("Digite o valor a ser add ou -1 para sair: "); scanf("%d", &numero); printf("%d\n", numero); if(numero == -1) break; // se numero for -1, o loop é qubrado pushToList(numero); } printf("\n"); showList(); // Mostra lista gerada; free(start); return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines