コードの中で 構造体 を インスタンス化 する際に、プログラムはフィールドデータをメモリ上で隣り合うように作成します。
全てのフィールドの値を指定してインスタンス化をする際:
構造体名 {...}
.
構造体のフィールドは演算子 .
で取り出すことができます。
例に示したコードのメモリ状況について:
String::from
では構造体 String
を作成し、この構造体と SeaCreature のフィールドを隣り合う形で スタック に入れられます。
フィールドの値は変更可能であり、メモリ上では以下の様に変更されます。String
に保存します(後の章でまた詳しく紹介します。)。