There is no difference.
It’s a matter of notation, not semantics. The second is less misleading, because
int *a, b;
is clearly declaring an int*
and an int
, whereas
int* a, b;
looks as if it’s declaring two pointers, when it’s really doing the same thing as above.