在某些情况下,强制类型转换可能会导致以下错误: 1、数据丢失 当将一个较大范围的数值类型转换为较小范围的数值类型时,可能会发生数据丢失,将一个float类型的值转换为char类型,如果float类型的值超出了char类型的表示范围(128到127),则强制类型转换会导致数据失真。 float f = 2000.5; char c = (char)f; // ...
结构体是通过指针实现的强制类型转换吧。main(){ struct A1 x = {10, 'A'};struct A2 y = {'A', 10};struct A2 z;struct A2 *p;p = (struct A2 *)&x;//这种强制类型转换,把x当A2类型变量使用就通过这个p指针 z.a = p->a;printf("%d",z.a);} ...