Show annihilator is closed subspace of dual space.
The null space of $x^{\star}\in X^{\star}$ is closed because $x^{\star}$ is continuous and the null space is the inverse image of $\{ 0\}$ under $x^{\star}$. Annihilators are intersections of such closed subspaces, which makes them closed.
For example, let $Jx(x^{\star})=x^{\star}(x)$. $Jx$ is a continuous linear functional on $X^{\star}$. So $\mathcal{N}(Jx)=\{ x^{\star} \in X^{\star} : Jx(x^{\star})=x^{\star}(x)=0 \}$ is a closed subspace of $X^{\star}$ and $M^{0}=\bigcap_{x\in M}\mathcal{N}(Jx)$.
I'm studying an introductory course in functional analysis and maybe you can use a sequence like this:
Let $\lambda\in\overline{M^0}$ so there exists a sequence $\langle \lambda_n : n\in\omega\rangle$ in $M^0$ such that $\lambda_n \longrightarrow \lambda$. In other symbols:
$$\lim_{n\to\infty}\lambda_n=\lambda$$
Then, it's enough to show that $\lambda\in M^0$. But that is easy since you know that $(\forall n\in\omega)(\lambda_n=0)$, using the limit above you get $\lambda=0$. Hence $M^0$ is closed.