¿Cuál es la diferencia entre:Asignación de matriz de caracteres un valor en C
char fast_car[15]="Bugatti";
y
char fast_car[15];
fast_car="Bugatti";
Dado que el segundo uno resultados con error de compilación:
error: incompatible types when assigning to type ‘char[15]’ from type ‘char *’
Mientras que la primera uno funciona bien Poner una cadena en una matriz en un lugar diferente de la inicialización de la matriz sería útil.
Puede usar una función de cadena como 'snprintf' o' strncpy' para llenar la matriz con un nuevo valor –
No use 'strncpy' a menos que realmente esté realmente seguro de que eso es lo que quiere. Asegúrese de que el buffer sea lo suficientemente grande y use 'strcpy' en su lugar. – harald
@harald ¿por qué usar strncpy es una mala idea? por lo general, evita el desbordamiento. – hardpenguin