typedef struct nodo { int info; struct nodo *prox; }nodo; void remover(nodo **inicio, nodo **fim, int n) { int x = 1; nodo *atual = *inicio; nodo *ant; while(atual != NULL) { if(atual->info == n) { if(atual == *inicio)//remoo no incio *inicio = atual->prox; else { if(atual == *fim)//remoo no fim { *fim = ant; (*fim)->prox = NULL; } else//remoo no meio ant->prox = atual->prox; } free(atual); atual = NULL; //fora a sada x = -1; //flag p/ indicar q o elemento foi encontrado } else { x++; ant = atual; atual = atual->prox; } } if(x != -1) printf("Elemento no encontrado na lista"); }