访问变量的每个字节内容(c语言)

#include <stdio.h>

#define fun(x) for(int fun_i = 0; fun_i < sizeof(x); fun_i++){printf("%x\t%x\n", (char *)&x+fun_i, *((char *)&x+fun_i));}

int main(void){

    unsigned p = 0x1122334455;

    fun(p);

    return 0;    
}

这里我用的宏定义,直接用函数也可以。我每次想看内容的时候总是忘记这个怎么写(主要是gdb玩不好),就做个记录。

从这个存放顺序来看,我这台机器是小端机,并且那条warning(隐式截断为无符号类型的整数)是我给p赋值的时候不小心多打了两个十六进制数,已经被截断了。

 

posted @ 2019-03-12 13:34  BMing  阅读(339)  评论(0编辑  收藏  举报