美文网首页
c语言强制类型转换

c语言强制类型转换

作者: ganser | 来源:发表于2016-08-01 16:38 被阅读70次

    直接上代码

    #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);
    }
    

    相关文章

      网友评论

          本文标题:c语言强制类型转换

          本文链接:https://www.haomeiwen.com/subject/dbaxsttx.html