Is there a difference between these two declarations?

marco_c:

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.

Not with the word "const" there you can't.