Ohhh, I have written a C compiler and I can assure you that, in that definition statement, the type is "uint8_t". "*" is an attribute of the variable name, not an attribute of the type name. That is the weird way C handles variable declaration.
If you want to build a pointer type, you need to use typedef. Otherwise, C only provides pointer variables. It's a subtle but important difference.