It's something that I've seen in C and C++ code. It doesn't make sense. I'm going to have a little rant about it.
When you are declaring a pointer, put the asterisk next to the type, because you are modifying the type.
int* x ✔ Yes very good.
int *x ❌ No very bad.
That's it.
The following is my reasoning in more detail for people who need more convincing because they're too stuck in their ways.
If I write int* x I am writing "x is of type 'pointer to int'".
If I write int *x I am writing "*x is of type int" which makes no sense.
I know the compiler doesn't care. I could write int*x and the compiler would eat it up like a good doggy. I care, because I'm reading the code.
* is not part of the variable name.
If I write x = &intvariable that is different to writing *x = &intvariable. The * is not part of the variable name.
If I have done typedef int* intptr; and then write intptr *x I have created a pointer to a pointer to an int, NOT a pointer to an int called *x.
THE * IS NOT PART OF THE VARIABLE NAME.
So don't make it look like it is.
Thank you for your time.