Pointers. Why pointers? - low-level, but efficient manipulation of memory - dynamic objects Objects whose memory is allocated during program execution.