|
分類:[C/C++]
例: unsigned char ca[4]{ 1, 2, 3, 4};
typedef struct { unsigned char w; unsigned char x; unsigned char y; unsigned char z;
} Uchar4;
Uchar4 uc4;
確実に下記操作または関係を成立させるために、どんなコンパイルスイッチが必要でしょうか。
memcpy(&uc4, ca, sizeof(char)*4);
すると、
uc4.w == ca[0]; uc4.x == ca[1]; uc4.y == ca[2]; uc4.z == ca[3];
になります。
/////////もう一つの例//////////////////
float fa[4]={ 0.1, 0.2, 0.3, 0.4};
typedef struct { float w; float x; float y; float z;
} Float4;
Float4 f4;
確実に下記操作または関係を成立させるために、どんなコンパイルスイッチが必要でしょうか。
memcpy(&f4, fa, sizeof(float)*4);
すると f4.w == fa[0]; f4.x == fa[1]; f4.y == fa[2]; f4.z == fa[3];
になります。
どうぞ宜しくお願いします。
|