But that does not mean an array can not be viewed as a pointer!You can cast anything to a pointer to char and access it that way. Not just 2d arrays, but everthing else. Because, every object can be viewed as an array of chars.
No, an array is a pointer, not an array of pointers. And there are always pitfalls with every line of thinking as nothing is perfect.The cast for the example that started this thread was to a (char **), which doesn't work. Only someone who thought, as you do, that arrays and pointers are the same would be confused by this. Thinking that arrays are really just pointers will only confuse you more, it doesn't help. This thread is a case in point.
And besides, thinking it's an array doesn't help because you can't get the size of an array after you passed it to a function, a feature specific to arrays.
Uhuh, right, so what if putting an offset into a register?The point, is that it DOESN'T fetch the address to the array. It is already known, unlike dereferencing through a pointer. Your first sentence here is total nonsense. Your last sentence is one source of your confusion.
Even if it may now work the same, on the surface, it is the same procedure.
And whatever, you're trolling me and I'm not willing to reply to any of your replies anymore.