打印内存里不同数据类型的数据
总结
- 把任意数据类型的指针强制转换成(unsigned char *) 类型,即把任意数据类型转成无符号的字符型,便于通过[i]下标方式直接对内存的访问
- size_t 类型:
在32位机器中为 unsigned int (32位)
在64为机器中为 unsigned long (64位)
故size_t 足够大,能够表示该机器中任意数据类型的长度
所以很多地方都会使用size_t 代替 int 比如(memset(a,b,n)) - %.2x 等同于 %02x 表示每两个16进制位一同打印,用0对齐
源代码
#include <stdio.h>
typedef unsigned char *byte_pointer;
void show_bytes(byte_pointer head