Part III
Modelling Data
With the memory model in place, this part turns to shaping data: values that can be one of several kinds, structures linked together without pointers, data whose lifetimes do not follow the shape of the code, and the ways a program reports that something went wrong.