强制转换的一个问题
问题:如果一个函数的形参是unsigned char *p,而实参变量是一个unsigned long data,那么你会怎么传递参数呢?
方法1 :先定义一个联合体变量 typedef union {unsigned char a[4]; unsigned long b}mylong
mylong data2 ;
data2.b= data1;
然后用 data2.a或者&data2.a[0]做实参传递。
方法2 :用((unsigned char *)&data)做实参。