Angenommen, ich habe eine vollständig definierte Struktur mit dem Tag MyStruct
und nehme an, dass x, y, ..., z
Werte für ihre Felder zulässig sind. Warum ist10 Warum können Strukturen nicht direkt zugewiesen werden?
struct MyStruct q = {x,y,..,z};
erlaubt, aber
struct MyStruct q;
q = {x,y,...,z};
ist nicht erlaubt? Ich finde das sehr ärgerlich. Im zweiten Fall, wo ich zuvor q
erklärt habe, ich brauche einen Wert, der jedes Feld zugeordnet werden, eine nach der anderen:
q.X = x; q.Y = y; ... q.Z = z;
X, Y, ..., Z
wo die Bereiche MyStruct
sind. Gibt es einen Grund dafür?
rvalue der Zuordnung nicht konkret sind und sein in der Laufzeit. Die ursprüngliche Zuweisung ist jedoch konkret und in binärer Form verfügbar (am wahrscheinlichsten im Abschnitt .BSS, wenn es sich um eine Elf-Datei handelt). Wenn Sie sich gegenseitig Strukturen zuweisen wollen, können Sie q einem initialisierten Objekt zuweisen. mögen; Struktur MyStruct w = {x, y, .., z}; q = w – sardok