タグがMyStruct
の完全に定義された構造体があり、そのフィールドにはx, y, ..., z
の値が許されているとします。なぜstructを直接割り当てることができないのはなぜですか?
struct MyStruct q = {x,y,..,z};
が許可されていますが、
struct MyStruct q;
q = {x,y,...,z};
が許可されていませんか?私はこれがとても迷惑であると感じます。私は、以前q
宣言した第二の場合には、私は、各フィールドに一つずつ値を割り当てる必要があり:
X, Y, ..., Z
が
MyStruct
のフィールドである
q.X = x; q.Y = y; ... q.Z = z;
。この背後には理由がありますか?
あなたがこれを行うことができます
右辺値が具体的なものではなく、その実行時にしかし、最初の割り当ては具体的ですが、バイナリで利用できます(これがelfファイルの場合は.BSSセクションで最も可能性があります)。構造体をお互いに割り当てる場合は、qを初期化したものに割り当てることができます。好き。構造体MyStruct w = {x、y、..、z}; q = w – sardok