I have struct and function declared as follows
typedef struct myStruct
{
//Some attributes
}myStruct_t, *pMyStruct_t;
void func(myStruct_t* someStruct);
When I declare a struct pointer as follows and pass it to the function, all is fine
volatile pMyStruct_t pStruct;
But when I declare the pointer this way I get an error that the volatile qualifier is discarded in the function
volatile myStruct_t* pStruct;
I guess my question is how come the first method works and no qualifier errors are raised? What is the difference between the two ways the pStruct variable is declared?