Возможный дубликат:
Распределение памяти char * и char []
Может ли кто-нибудь объяснить мне, какая разница между этими строками кода
char *p = "String";
char p2[] = "String";
char p3[7] = "String";
В каком случае я должен использовать каждое из указанных выше?