*p is an integer pointer variable.
* p = a; This means that the value of a is assigned to the content value of the address pointed by p.
But your p is not initialized at all, it is empty. It's wrong for you to write like this.
You should write
p = & ampa;