¿Puedo copiar una cadena en una cadena vacía?
Supongamos que me gusta esto para copiar la cadena.
char str[] = "";
char *str2 = "abc";
strcpy(str, str2);
printf("%s", str); // "abc"
printf("%d", strlen(str)); // 3
Entonces, ¿por qué no me da un comportamiento indefinido o hace que el programa falle? ¿Cuáles son las desventajas de hacer así?