You probably mean this:
typedef struct ST {
} *STP;
An asterisk is at the end of the instruction. It simply means "define the STP type as a pointer to the structure of this type." The struct ( ST) tag is not needed, it is useful if you want to refer to the structure type again later.
You can also have both, for example:
typedef struct {
} ST, *STP;
This would allow us to use STfor designating the type of structure itself and STPfor pointers to ST.
typedefs, - (, ) , C ( ), . , , .