Problem with USART communication in low-level

void print_ln(float * string ){

    while ( !( UCSR0A & (1<<UDRE0)) );

    UDR0 = string; //send the data

  

}

What do you notice about the size of the register UDR0?
What do you notice about the size of the pointer "string"?