My understanding is that it is meant to contain the memory address of a char variable, but now I'm seeing it can be used to create strings? For example,
char* ptr = "string";
How can ptr be assigned a string when it is meant to hold a memory address? I thought the dereference operator would be needed to change the value being pointed to?