struct Frame{ struct{ long x1; long y1; long z1; struct{ long x; long y; long z; } Euler; } Local; struct{ long x0; long y0; long z0; long x1; long y1; long z1; struct{ long x; long y; long z; } Euler; } Global; struct Frame *PreviousFrame; };てな感じの自己参照的構造体。
struct Frame *Head, *Trunkでポインタ宣言をして、
Head = ( struct Frame * )malloc( sizeof( struct Frame ) ); Trunk = ( struct Frame * )malloc( sizeof( struct Frame ) );でメモリ領域を確保して、
Head->PreviousFrame = Trunk;でデータのリンク構造を設定する。
Head->Global.x0 = Head->PreviousFrame->Global.x1; Head->Global.y0 = Head->PreviousFrame->Global.y1; Head->Global.z0 = Head->PreviousFrame->Global.z1;とすればいい。