Supposons que j'ai une structure entièrement définie avec l'étiquette MyStruct
, et supposons que x, y, ..., z
sont des valeurs autorisées pour ses champs. PourquoiPourquoi les structs ne peuvent pas être affectés directement?
struct MyStruct q = {x,y,..,z};
autorisés, mais
struct MyStruct q;
q = {x,y,...,z};
n'est pas autorisé? Je trouve cela très ennuyeux. Dans le second cas, où je l'ai déjà déclaré q
, je dois attribuer une valeur à chaque champ, un par un:
q.X = x; q.Y = y; ... q.Z = z;
où X, Y, ..., Z
sont les champs de MyStruct
. Y a-t-il une raison derrière tout cela?
rvalue de la mission n'est pas concret et son en cours d'exécution. l'affectation initiale est cependant concrète et disponible en binaire (plus probable dans la section .BSS s'il s'agit d'un fichier elf). Si vous souhaitez vous affecter des structures, vous pouvez affecter q à quelque chose d'initialisé. comme; structure MyStruct w = {x, y, .., z}; q = w – sardok