main()
{
int a[5] = {1,2,3,4,5};
int *ptr = (int*)(&a+1);

printf("%d %d" , *(a+1), *(ptr-1) );

}


in this code though &a is a pointer to pointer it is assigned to a pointer (ptr) by typecasting how is it possible;