ポインタそのものに値100を入れる=ポインタがアドレス100を指すようにするのは、
p = (int*)100;
だ。

int *p = &a;
というのは
int *p;
p = &a;
のことだ。

int *p;
*p=100;
は、まだどこも指していないポインタpの指す先に100を入れている。