Variable types with * prefix

The "position" is the same: as you said, "between" the type and variable. The position of some operators matter, like ++ and --. The difference with those three is with the spaces, which are optional

byte*ptr;  // fourth variant -- do not use

as with

x=a+b+c+d;  // spaces would help readability

and even

x=a++ +b;
x=a+ ++b;
x=a+++b;  // no really, don't do this -- auto-format does the right thing