char name[] is an array of chars whereas char *name points to a string literal whcih you can't change. It's read only marked by the OS.