Out of all the introductory concepts in computer science, pointers can be
the hardest to learn as well as one of the most rewarding. Pointers open up a
world of possibilities allowing programmers to do things that would
otherwise be extremely difficult if not impossible. This tutorial
sets about to introduce pointers painlessly and familiarize you
with them and the basic concepts surrounding them so that you can understand
and begin to use them quickly.
In this chapter we begin by covering the topic of memory and memory
addresses. Pointers are nothing more than variables that store memory
addresses and can be used to access the memory at those addresses.
Various operators such as the *, the &, and the ,
enable us to use pointers to do these things.