c语言强制类型转换

2016-08-01  本文已影响70人  ganser

直接上代码

#include <stdio.h>

typedef unsigned char *byte_pointer;

void show_bytes(byte_pointer start, int len) {
    for (int 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 *));
}

void test_show_bytes(int val) {
    int intVal = val;
    float floatVal = (float)intVal;
    int *pointVal = &intVal;
    show_int(intVal);
    show_float(floatVal);
    show_pointer(pointVal);

    char *s = "abc";
    show_bytes((byte_pointer)s,3);
}

int main() {
    test_show_bytes(4);
}
上一篇下一篇

猜你喜欢

热点阅读