经过下面的语句定义后:int i,a[10],*p;下列语句中,合法的是______。
A.p=100;
B.p=a[5];
C.p=a[2]+2;
D.p=a+2;
请帮忙给出正确答案和分析,谢谢!