Every experienced C programmer has a collection of favorite pointer-induced bugs. Pointer errors can wreak havoc because pointers can change the contents of any addressable memory location. If a pointer writes to an unexpected address, the results can be disastrous.