An array reference (that is, any mention of an array in a value context), turns into a pointer.
— C-FAQ
Is there a program (that compiles) where if you substitute an array value by a pointer value you get different behavior?
Let "different behavior" mean a different computed result, not how any compiler will compile the code differently to give the same result or how one will compile while the other not.