Implementación en C: