#include <stdio.h>
#include <stdlib.h>
int main(){
char c[128], *cp;
int a;
printf("\n整数を入力してください:\n"); fflush(stdout); // fflushで標準入出力を即座に書き出す
gets(c); a=atoi(c);
cp = (char*)&a;
printf("input data address is %p\n", &cp);
printf("上位バイトから表示すると次のようになります。\n");
printf("address %p: %02X\n", &cp, *cp); // %02Xは足りない部分を0で埋め、最小2桁
printf("address %p: %02X\n", &cp+1, *(cp+1));
printf("address %p: %02X\n", &cp+2, *(cp+2));
printf("address %p: %02X\n", &cp+3, *(cp+3));
return 0;
}
$ ./main
整数を入力してください:
1024
input data address is 0x7ffd473ccfd8
上位バイトから表示すると次のようになります。
address 0x7ffd473ccfd8: 00
address 0x7ffd473ccfe0: 04
address 0x7ffd473ccfe8: 00
address 0x7ffd473ccff0: 00