以下のプログラムのb_testにはなぜ0x3322ではなく、0x4433が代入されるのでしょうか?
#include <stdio.h>
typedef struct
{
unsigned char a;
unsigned short b;
} TEST_2;
int main(void)
{
unsigned char bytes[] = { 0x11, 0x22, 0x33, 0x44 };
TEST_2* pMemoryDevice = (TEST_2*)bytes;
unsigned char a_test = pMemoryDevice->a;
unsigned short b_test = pMemoryDevice->b;
printf("0x%X\n", b_test);
return 0;
}
C言語なら俺に聞け 154
■ このスレッドは過去ログ倉庫に格納されています
309デフォルトの名無しさん (ワッチョイ 7d01-0Ybi)
2020/02/04(火) 06:57:32.95ID:j6eziqdx0■ このスレッドは過去ログ倉庫に格納されています
