Why can a string be assigned to a char* pointer, but not to a char[] array?

Viewed 110856

Can someone explain why this works with the pointer:

char * str1;

str1 = "Hello1";

str1 = "new string";

// but not this
char str2 [] = "hello";
str2 = "four";

// or this
char str3 [];
str3 = "hello";
str3 = "hello";
5 Answers
Related