absolutely nothing. They mean the same thing, it's preference where you place the asterisk. I think since the data type (int) is what is being pointed to, the asterisk should be touching it; int* i = 0
Throwing my opinion out; I prefer the asterisk to be touching the variable name. The way I was able to wrap my mind around it in the beginning was thinking of int as the type, and the variable as the pointer - so the asterisk should be touching the variable. I sort of stuck with that ever since.
Declaring multiple vars on the same line (especially with pointers) is a bad idea.
Is this for any reason other than readability? Curious.