ethdr = (ETHERNET_FRAME*)&tmp[0];

I thought pointer (whether declearing or referencing it), * should be on left side of the word.

One of the code I was studying, I saw code like above where * shows up on right side of struct.

Is this not a pointer ? what is this?
Can someone explain please?