Is a uniformly continuous function vanishing at $0$ bounded by $a|x|+c$?

Let $g: \mathbb{R} \rightarrow \mathbb{R}$ be uniformly continuous with $g(0)=0,c\geq 0, c \in \mathbb{R}$. Show: $$\exists a\geq 0 \in \mathbb{R}: \forall x \in \mathbb{R}: |g(x)| \leq a \cdot |x|+c$$

I could also say $g(x) \in \mathcal{O}(x)$.

Notes: I could not make up any counterexample so I guess it could be true, all uniformly continuous functions I know grow too slowly.

My approach:

Given $\epsilon > 0$, we have that: $$\exists \delta(\epsilon): |x-y|<\delta=> |g(x)-g(y)|<\epsilon$$
because of the continuity of $g$. Now choose $n=\text{max}\{n \in \mathbb{N}: (n-1)\delta/2\leq|x|\}$. Obviously, such an $n$ exists, and $n > 0$. We also easily see that an upper bound for $n$ is $n \leq \frac{2}{\delta}|x|+1$.

Now we use this to separate $|x|$ into $n-1$ distinct parts of size $s<\delta/2$, and the last part which is smaller than $\delta$ :
$$|x|=|x_1-x_0|+|x_2-x_1|+|x_3-x_2|+…+|x_n-x_{n-1}| < (n-1)\delta/2 + \delta = (n+1)\delta/2.$$

$$\begin{align}
\Rightarrow |g(x)| & =|g(x_1)-g(x_0)+g(x_2)-g(x_1)+g(x_3)-g(x_2)+…+g(x_n)-g(x_{n-1})| \\
& \leq |g(x_1)-g(x_0)|+|g(x_2)-g(x_1)|+|g(x_3)-g(x_2)|+…+|g(x_n)-g(x_{n-1})| \\
& \lt n \cdot \epsilon \leq (\frac{2}{\delta}|x|+1) \cdot \epsilon = \frac{2\epsilon}{\delta} \cdot |x|+\epsilon
\end{align}$$

So we can see that the constant $c$ we were given can be set as the $\epsilon := c$, and that was also the reason why generally speaking $c>0$. Then we can choose $a := \frac{2\epsilon}{\delta}$, as our $\delta$ only depends on the $\epsilon$, and we have that $|g(x)| \leq a \cdot |x| + c$ for $c > 0$. $\quad \square$

Solutions Collecting From Web of "Is a uniformly continuous function vanishing at $0$ bounded by $a|x|+c$?"

It is false if $c=0$. To see this, try to think of a continuous function that grows very rapidly near $0$.

It is true if $c\gt 0$. One way to show it is by taking a number of very small steps from $0$ to $x$, small enough to guarantee (using uniform continuity) that the function changes no more than a certain fixed amount at each step. Trying to write out the details should lead you to what this fixed amount is, and to what value of $a$ will work.