char[]
is a “constant pointer” where as char *
can be moved
char[] str1 = "foo";
str1++; // invalid
char *str2 = "foo";
str++ // valid
char[]
: char array stored on stack
char *
: pointer to string literal stored anywhere, cannot modify the string