コメントにご質問があったので、少し長くなりそうなのでこちらで書かせてもらいます。 構造体とポインタ(若しくはバイト配列)との相互変換を行う方法については以前紹介しましたが、あの時の例はあえてごく簡単な構造体にしてありました。今回はメンバとして配列をもっている構造体の場合について考えます。ここでは、以下のような構造体を例にとりご説明します。 [StructLayout(LayoutKind.Sequential)] struct Hoge { public string Str; public double[] Array; public Fuga[] Fugafuga; } [StructLayout(LayoutKind.Sequential)] struct Fuga { public int X; public int Y; public Fuga(int x, int y) { X