http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter5.html
The other information needed is how much of allocbuf has been used.
We use a pointer, called allocp , that points to the next free
element. When alloc is asked for n characters, it checks to
see if there is enough room left in allocbuf . If so, alloc returns the current value of allocp (i.e., the beginning of the free
block), then increments it by n to point to the next free area.