Can I access to my union using arrow operator(->) in C? : I would like to know whether or not I can use the arrow operator in my union, so let's say that I have the following union

    union max30205_raw_data {
        struct {
            uint8_t lsb;
            uint8_t msb;
        };
        struct {
            uint16_t magnitude_bits:15;
            uint16_t sign_bit:1;
        };
        uint16_t uwrd;
        int16_t swrd;
    };

I will fill the content of the union in the following way, but I was wondering whether the access to the union member `msb` and `lsb` is correct?

    int32_t max30205_read_reg16_WithDefUnion(char reg, max30205_raw_data *p_unionRawData) {
    	char aux[] = {0,0}
    	int32_t error;
    
        if (reg == MAX30205_REG_TEMPERATURE ||  reg == MAX30205_REG_THYST_LOW_TRIP || reg == MAX30205_REG_TOS_HIGH_TRIP) {
    
        	error = twi_max30205_read(&myMax30205Instance,max30205Address,reg,&aux,sizeof(aux));
        	if(error == 0){
                p_unionRawData->msb = aux[0];//IS THIS RIGHT IN C?
                p_unionRawData->lsb = aux[1];//IS THIS RIGHT IN C?
        	}
        }	
        return error;
    }

I will call `max30205_read_reg16_WithDefUnion()`as 

    int16_t max30205MeasureTemperatureWithDefUnion(void) {    
        char regT = MAX30205_REG_TEMPERATURE;
    
        max30205_raw_data rawTemp;
    
        int16_t temperatureValue = 0;
    
        if (max30205_read_reg16_WithDefUnion(regT,&rawTemp) ==0)
    		temperatureValue = rawTemp.swrd;
    	
        return temperatureValue;
    }

