const char *str = "Hello";
A pointer to a string of characters. The memory could be allocated anywhere, including read-only memory, and the address is stored as the initialiser for this variable. Technically you can really only manipulate the pointer and not the text string.
const char str = "Hello";
An array of charaters that are initliased to the value of the string. Equivalent to initialising as ['H', 'e', 'l', 'l', 'o', '\0']. In this case the memory allocated will definitely be R/W and you can be expected to modify the string.