Кто-нибудь, пожалуйста, объясните мне, почему strcpy () необходим для присвоения строк символьным массивам, например, в следующем фрагменте кода.
int main(void) {
char s[4];
s = "abc"; //Fails
strcpy(s, "abc"); //Succeeds
return 0;
}
В чем причина того, что s = "abc"
не работает? И почему strcpy () является единственным способом присвоить строки массивам символов после того, как они были объявлены? Мне кажется странным, что вы должны использовать функцию для выполнения базового присваивания.