root@mars:/home/xau# cat test3.c
#include
#include
int main(int argc, char **argv){
u_char mem[]= { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06};
u_char *p = mem;
u_short d;
u_short *dp;
u_int32_t *lp;
printf("hx\n", *p);
dp = (u_short*) p;
printf("hx\n", *dp);
p += 2;
lp = (u_int32_t*) p;
printf("hx\n", *lp);
}
root@mars:/home/xau# ./a.out
01
0201
00000403
root@mars:/home/xau#
print("hx\n",*lp) 이거 06050403 이 나와야되는거아닌가요? 왜 00000403이 나오죠?
댓글 0