This fails:
but this doesn't:Code:char *s = "hello"; s[0] = 'H';
or this:Code:char s[] = "hello"; s[0] = 'H';
Besides being a constant pointer, I've always thought char [] was equivalent to char *.Code:char *s = "hello"; printf("%c\n", s[0]);