How come you do not have to use the dereference operator when printing the string my_string in the following code?

Code:
char *my_string = malloc(sizeof(*my_string)*100);

printf("Enter a string.\n");
scanf("%s", my_string);
printf("%s", my_string);
I am learning C and do not quite understand this. I appreciate the help.