http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter5.html
The easiest implementation is to have alloc hand out pieces of a
large character array that we will call allocbuf . This array is
private to alloc and afree . Since they deal in pointers,
not array indices, no other routine need know the name of the array, which
can be declared static in the source file containing alloc and afree , and thus be invisible outside it.