Supongamos que tengo una estructura completamente definida con la etiqueta MyStruct
, y supongo que x, y, ..., z
son valores permitidos para sus campos. ¿Por qué se¿Por qué las estructuras no se pueden asignar directamente?
struct MyStruct q = {x,y,..,z};
mascotas, pero
struct MyStruct q;
q = {x,y,...,z};
no está permitido? Encuentro esto muy molesto. En el segundo caso, donde he declarado previamente q
, necesito asignar un valor a cada campo, uno por uno:
q.X = x; q.Y = y; ... q.Z = z;
donde X, Y, ..., Z
son los campos de MyStruct
. ¿Hay alguna razón detrás de esto?
rvalue de la asignación no es concreto y su en tiempo de ejecución. sin embargo, la asignación inicial es concreta y está disponible en formato binario (lo más probable en la sección .BSS si se trata de un archivo elf). si quiere asignar estructuras entre sí, puede asignar q a algo inicializado. me gusta; struct MyStruct w = {x, y, .., z}; q = w – sardok