C 强制类型转换获取不同数据的字节表示

#include <stdio.h>

//指向类型为 unsigned char 类型的对象指针
typedef unsigned char *byte_pointer;

//size_t 32位4字节 64位8字节
void show_bytes(byte_pointer start,size_t len){
    size_t i;
    for(i = 0;i < len;i++){
        printf("%.2x",start[i]);
    }
    printf("\n");
}
void show_int(int x){
    show_bytes((byte_pointer) &x,sizeof (int));
}

void show_float(float x){
    show_bytes((byte_pointer) &x,sizeof (float));
}

void show_pointer(void *x){
    show_bytes((byte_pointer) &x,sizeof (void *));
}

int main() {
    int a = 0;
    show_int(a);
    return 0;
}
posted @ 2022-11-17 19:03  破忒头头  阅读(30)  评论(0)    收藏  举报