The asterisk, like many other symbols in C, have multiple meanings depending on context. In a variable declaration it means the variable is a pointer, used in an expression like this it dereferences a pointer, that is it gets the value of what the pointer points to.
Then you have the postfix increment operator ++
which returns the value of the expression and then increases it, in this case it returns the pointer and then increases the pointer.
So what e.g. *src++
does is dereerence the pointer src
to get its value, then increase the pointer (so it points to next location in memory).
As for the whole expression *dest++ = *src++
it simply copies the value pointed at by src
to the value pointed at by dest
then increase respective pointer. In short, it copies from src
to dest
. You will most likely see this in a loop.