why is the output of this c program is like this? : This is the program:-
    
    #include<stdio.h>
    int main()
    {
	    int a[8]={1,2,3,4,5,6,7,8,9},i;
	    char* p;
	    p=(char*)a;
	    printf("%d",*p);
	    for( i=0;i<32;i++)
	    {
           p=p+1;
	       printf("%d",*p);
	    }
	    return 0;
	
    }

Output:-

    $ ./a.out
    100020003000400050006000700080000

why is the output like this.
why there is three zero followed by value of the array.
