In C, if you have a pointer to an array, then there is no way to determine the length of this array. As @AProgrammer points out, designers could leave it to that and forced the programmer to track the length of all character arrays. However, this would make text processing in C even more complicated than it is.
Therefore, the developers of the language have established an agreement that would allow to deduce the length of the string due to the presence of a null character indicating the end of the string.
, strcpy:
char *strcpy(char *destination, const char *source);
C , destination source. , , source.
, , . - , .