C Functional Programming Tutorial