Acrescentei alguns comentários ao longo do código. Corrigi o bug da função que compara linhas para ver se estão iguais. Adicionei a função liberar memória no fim da main.