Does this...
char* myString = \"hello\";
... have the same effect as this?
char actualString[] = \"hello\";
char* myString
No. The first one gives you a pointer to const data, and if you change any character via that pointer, it's undefined behavior. The second one copies the characters into an array, which isn't const, so you can change any characters (either directly in array, or via pointer) at will with no ill effects.