#include #include typedef struct noh { int elem; struct noh *prox; } noh; int conta(noh *x) { int q = 0; while (x != NULL) { q++; x = x->prox; } return q; } void insere(int elemento, noh **inicio) { noh *novo = malloc( sizeof(noh) ); // 1 novo->elem = elemento; // 2 novo->prox = *inicio; // 3 *inicio = novo; // 4 } void mostra(noh *x) { printf("[ "); while (x != NULL) { printf("%d ", x->elem); x = x->prox; } printf("] "); } int main() { int num; noh *inicio = NULL; insere(4, &inicio); insere(2, &inicio); insere(3, &inicio); insere(1, &inicio); printf("A lista "); mostra(inicio); printf("tem %d elementos.\n", conta(inicio)); return 0; }