>>519
> メモリレイアウトは配列と同じになるけど配列アクセスするとマズい理由。
動作が保証されないから
> struct vec3{float x,y,z;};
vec3 v;
float *a = &v;
の場合に 8086 などのセグメントアーキテクチャだと v.x と v.y でセグメント切り替えを行う必要があるかもしれないからそのようなコードを生成するけど a[0] と a[1] でその切り替えを行う保証がないとか
(配列として宣言されてればサイズがわかっているのでセグメント切り替えをサボることができるように配置できる)