• 本当は、田舎に庵を建てて隠遁生活したいけど、先立つものも無いので自宅で..。

【C#】構造体へのポインタをメンバーに持つ構造体

何か、だんだん深みに嵌ってきた感じがするけど、C#の構造体でメンバに構造体へのポインタを含むものについて実験してみた。 unsafe修飾子を使った。

childTの変数を定義して、topTのポインタにアドレスを渡してやらないと、ttからchildTのメンバにアクセスできない。 後から考えたら当たり前だけど、だいぶ悩んだ。

ついでにサイズを表示してみたけど、C同様パディングが実行されているようで、ttのサイズはchildT*のサイズとintのサイズの和になっていない。 

構造体のメンバにポインタがある場合は、topTのサイズのアンマネージドメモリを確保して、APIに渡してもダメだということなんだろうな..。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA