An array is not a pointer. The reason arrays appear to be pointers is that in most expressions, C will convert an array into a pointer to its first element. This is apparently where the confusion comes in, and that's not surprising.
Now, if you want to make a statement along the lines of "Ignoring a couple of corner cases, an array is a pointer," then you at least have a leg to stand on; if a C program can't tell the difference (and it can, of course, but let's pretend that the & and sizeof operators don't exist and that arrays of arrays don't exist), then there'd be no real reason to draw a distinction.
And, generally speaking, you can get away with thinking that an array is a pointer; avoiding & and sizeof with arrays and avoiding multidimensional arrays is not a hard thing to do, I suppose, and in that case, as far as you care, arrays are pointers.
Perhaps I've missed a corner case or two, but that's OK: I'm not trying to convince anybody that arrays should be treated as pointers, merely explaining why or how they can. I think C programmers should know the difference, but if you can get away with thinking they're the same, well, who am I to stop you?