Please explain me what is happening
Code:main()
{
int a[][3] = { 1,2,3 ,4,5,6};
int (*ptr)[3] =a; //Is address of 'a' being assigned to (*ptr)[0] or (*ptr)[3]?
printf("%d %d " ,(*ptr)[1], (*ptr)[2] );
++ptr;
printf("%d %d" ,(*ptr)[1], (*ptr)[2] );
}