こんなことができます。 typedef float FVECTOR[4]; /* ps2でもこんなかんじ */ typedef struct { float x; float y; float z; } fvec __attribute__((packed)); /* structのサイズが最小になる */ inline void print_vec(fvec *v) { printf("fvec has\nx:%f\ny:%f\nz:%f\n", v->x,v->y,v->z); } int main(){ FVECTOR pos={1,2,3,1}; fvec* vecpos = (fvec *)&pos; /* キャストしてみる */ print_vec((fvec*)pos); vecpos->x=10.0; print_vec((fvec*)pos); } 危ない匂いはしますが。 |