getting EXITED error:pointer to an array in c
===

    int main()
    {
     unsigned char a[3];
     unsigned char (*p)[3]=NULL;
     unsigned char *q=NULL;
     int i = 0;
     a[0]=0;
     a[1]=1;
     a[2]=2;
     p=&a;
     for(i=0;i<3;i++){
       if((*p)[3] == a[3]){
         printf("*p[%d]:%d a[%d]:%d",i,(*p)[3],i,a[3]);
       }
     }
    }

    o/p:
    *p[0]:0 a[0]:0*p[1]:0 a[1]:0*p[2]:0 a[2]:0
    Exited: ExitFailure 14

I want to copy an array of size 3 to a pointer and to do a comparision. I have written a sample program. But i'm getting an error value.
I ran this using an online c compiler . (codepad.org)
Please help me in identifying my mistakes.