C - почему необходима strcpy ()

Кто-нибудь, пожалуйста, объясните мне, почему strcpy () необходим для присвоения строк символьным массивам, например, в следующем фрагменте кода.

int main(void) {

char s[4];

s = "abc"; //Fails
strcpy(s, "abc"); //Succeeds

return 0;
}

В чем причина того, что s = "abc" не работает? И почему strcpy () является единственным способом присвоить строки массивам символов после того, как они были объявлены? Мне кажется странным, что вы должны использовать функцию для выполнения базового присваивания.

27
задан C_p678 1 August 2011 в 15:58
поделиться