Answer from cs61c-cm (Christopher Marcellino 15775059) for Question 1 Pre-processor directives and type definitions. They serve as an abstraction layer to make programmers more efficent and less error prone.