4.5 Functions and Macros