Załóżmy, że mam w pełni zdefiniowaną strukturę ze znacznikiem MyStruct
i przypuszczam, że x, y, ..., z
są dozwolone wartości dla jej pól. DlaczegoDlaczego nie można bezpośrednio przypisywać struktur?
struct MyStruct q = {x,y,..,z};
dozwolone, ale
struct MyStruct q;
q = {x,y,...,z};
nie jest dozwolone? To bardzo denerwujące. W drugim przypadku, gdzie już wcześniej zadeklarowanej q
, muszę przypisać wartość do każdego pola, jeden po drugim:
q.X = x; q.Y = y; ... q.Z = z;
gdzie X, Y, ..., Z
są pola MyStruct
. Czy istnieje jakiś powód?
RValue z cesji nie jest beton i jego w czasie wykonywania. początkowe przypisanie jest jednak konkretne i dostępne w postaci binarnej (najprawdopodobniej w sekcji .BSS, jeśli jest to plik elfa). jeśli chcesz przypisać sobie struktury, możesz przypisać q do czegoś zainicjowanego. lubić; struct MyStruct w = {x, y, .., z}; q = w – sardok