&arraccepts the address of the array, this is a pointer to the array (not to be confused with a pointer to the 1st element). He has a type int(*)[3].
Then you do pointer arithmetic on that array pointer. Since it points to an array of 3 integers, it &arr + 1will mean "plus the size of one integer array", and you end up only specifying the declared array, which makes no sense.
*. . , , int*. int, , .
, , , &arr[0] + 1, arr + 1, .