#include <stdio.h>
typedef union
{
struct {
float x;
float y;
float z;
float w;
} ;
float val[ 4 ] ;
} VERTEX4F;
int main( ) {
VERTEX4F v;
v.x = 0.1f ;
v.y = 0.2f ;
v.z = 0.3f ;
v.w = 0.4f ;
printf ( "Sizeof VERTEX4F is %d \n " , sizeof ( VERTEX4F
) ) ; //16 (4*4) printf ( "VERTEX4F component x is %f \n " , v.
x ) ; //0,5 printf ( "VERTEX4F component y is %f \n " , v.
y ) ; //0,5 printf ( "VERTEX4F component z is %f \n " , v.
z ) ; //0,5 printf ( "VERTEX4F component w is %f \n " , v.
w ) ; //0,5 for ( int i = 0 ; i< 4 ; i++ )
{
printf ( "VERTEX4F component %d is %f \n " , i
, v.
val [ i
] ) ; //на первой итерации - 0,5, на остальных хуита. }
return 0 ;
}
//Чому так?
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHVuaW9uIAp7CiAgICBzdHJ1Y3QgewogICAgZmxvYXQgeDsKICAgIGZsb2F0IHk7CiAgICBmbG9hdCB6OwogICAgZmxvYXQgdzsKICAgIH07CiAgICBmbG9hdCB2YWxbNF07Cn0gVkVSVEVYNEY7CgppbnQgbWFpbigpIHsKCVZFUlRFWDRGIHY7Cgl2LnggPSAwLjFmOwoJdi55ID0gMC4yZjsKCXYueiA9IDAuM2Y7Cgl2LncgPSAwLjRmOwoJcHJpbnRmKCJTaXplb2YgVkVSVEVYNEYgaXMgJWQgXG4iLHNpemVvZihWRVJURVg0RikpIDsgIC8vMTYgKDQqNCkKCXByaW50ZigiVkVSVEVYNEYgY29tcG9uZW50IHggaXMgJWYgXG4iLCB2LngpOyAvLzAsNQoJcHJpbnRmKCJWRVJURVg0RiBjb21wb25lbnQgeSBpcyAlZiBcbiIsIHYueSk7Ly8wLDUgCglwcmludGYoIlZFUlRFWDRGIGNvbXBvbmVudCB6IGlzICVmIFxuIiwgdi56KTsvLzAsNSAKCXByaW50ZigiVkVSVEVYNEYgY29tcG9uZW50IHcgaXMgJWYgXG4iLCB2LncpOy8vMCw1IAoJZm9yKGludCBpID0gMDtpPDQ7aSsrKQoJewoJICBwcmludGYoIlZFUlRFWDRGIGNvbXBvbmVudCAlZCBpcyAlZiBcbiIsaSwgdi52YWxbaV0pOyAvL9C90LAg0L/QtdGA0LLQvtC5INC40YLQtdGA0LDRhtC40LggLSAwLDUsINC90LAg0L7RgdGC0LDQu9GM0L3Ri9GFINGF0YPQuNGC0LAuCgl9CglyZXR1cm4gMDsKfQoKLy/Qp9C+0LzRgyDRgtCw0Lo/IA==