#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