Could anyone please tell me whats happenning in line number 10 and 12. The output of this code is 2 and 0.
#include<stdio.h>
#include<conio.h>
void main()
{
int arr[3]={2,3,4};
char *p;
clrscr();
p=arr;
p=(char*)((int*)(p));
printf("%d\n",*p);
p=(int*)(p+1);
printf("%d",*p);
getch();
}