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