¿Por qué obtengo un error al tratar de asignar un valor a un campo de una estructura?
Considere la siguiente estructura:
typedef struct invInfo
{
char chem_name[41];
char chem_code[21];
long quantity;
} invInfo;
Y mi función principal:
int main(){
invInfo in,s1,s2;
in.chem_name = "Kaki";
in.chem_code = "K1";
in.quantity = 8;
return 0;
}
Obtengo el siguiente error cuando intento compilar:
error: asignación a una expresión de tipo array
davy.ai
El error ocurre al intentar asignar literales de cadena a los arrays
in.chem_name
ein.chem_code
. Los arrays no se pueden asignar directamente, en su lugar, necesitas copiar la cadena en el array usando la funciónstrcpy
. Aquí está la función principal corregida:Esto inicializará correctamente la estructura
invInfo
.