As this is a pretty basic exercise, I'm sure there are many other ways of proving this, but what I'm doubtful about is whether the one I came up with holds:
From the fact that $f$ is additive and $f(0)=0$ it easily follows that $f(x-y)=f(x)-f(y)$. The fact that $f$ is continuous at $0$ means that for any $\forall \epsilon.\exists \delta : |x|<\delta \implies |f(x)|<\epsilon$. Therefore, $|x_1-x_2|<\delta \implies |f(x_1-x_2)|<\epsilon$ and $|f(x_1-x_2)|=|f(x_1)-f(x_2)|$, which means that for any $\forall x_1,x_2,\epsilon.\exists \delta : |x_1-x_2|<\delta \implies |f(x_1)-f(x_2)|<\epsilon$. This is a definition of continuity.
Is this valid?
What OP did is enough to show that $f$ is continuous. Here is my attempt. First, it is straightforward to see that $f(x-y)=f(x)-f(y)$.
Now take any arbitrary $a\in \mathbb{R}$, we want to show $f$ is continuous at $a$. Let $\epsilon >0$ be arbitrary, we want to show that there exists $\delta>0$ such that $|x-a|<\delta \Rightarrow |f(x)-f(y)|<\epsilon$.
Since $f$ is continuous at $0$, we know that there exists some $\delta'>0$ such that $|y|=|y-0|<\delta' \Rightarrow |f(y) - f(0)| = |f(y)|<\epsilon$. Choose this $\delta'$ as the $\delta$ we are looking for. So let $\delta = \delta'$. Check that $|x-a|<\delta = \delta' \Rightarrow |f(x-a)|<\epsilon \Rightarrow |f(x)-f(a)|< \epsilon.$ Therefore, $f$ is continuous at $a$.
From what OP did, we can actually say that $f$ is also uniformly continuous which is stronger than continuity.