> Imagine an array variable like a pointer that cannot be changed that holds the memory address of the first element of the array it points to.
Nope. Arrays are not pointers; pointers are not arrays. This is perhaps the most common misconception about C, and a "Guide to C Pointers" should not propagate it.
For more information about why this is wrong, read section 6 of the [comp.lang.c FAQ](http://www.c-faq.com).