Originally Posted by
laserlight
When converted to a pointer, myArray is indeed the same as &myArray[0], since an array is converted to a pointer to its first element. On the other hand, &myArray[0] is different from &myArray, since one is a pointer to the first element of myArray, while the other is a pointer to myArray itself. Although in value they may actually be the same, in terms of type they are different. Now, pArray is a pointer to an array of 10 ints, not a pointer to an int, so it is correct to assign &myArray to it.
No, pointer arithmetic makes sense when you have a pointer to some element in an array of elements (or to one past the end of an array). In this case, you have a pointer to a lone array of 10 ints, so pointer arithmetic does not make (much) sense.