Código C:
Ver originalulti = ulti->siguiente;
penulti -> siguiente = ulti;
Estas dos intrucciondes deberian ir al revez. porque actualizas el ultimo y despues se lo asinas al penultimo osea los dos apuntan a lo mismo...deberia ir asi:
Código C:
Ver originalpenulti -> siguiente = ulti;
ulti = ulti->siguiente;
Sobre lo que muetra si es una diccion de memoria o no podrias mostrar mas parte de tu codigo y la salida que produce tu programa.