<< >>c语言 c语言中强制类型转换的一般形式是什么?
c语言中强制类型转换的一般形式是什么?C语言中强制类型转换究竟改变了什么?不同类型的变量在内存中有不同的存储方法和长度,强制转换前后的任何差异都应进行转换。例如,inty=3charx=(char)y
c语言中强制类型转换的一般形式是什么?
C语言中强制类型转换究竟改变了什么?
不同类型的变量在内存中有不同的存储方法和长度,强制转换前后的任何差异都应进行转换。例如,inty=3charx=(char)y,如果它们的长度不同,它们将切断y的所有高3字节,并且只将最低的字节分配给X;相反,如果char=3intx=(int)y,则它们将用0补齐所有高3字节。如果强制对浮点数和整数进行变换,不仅改变了存储长度,而且改变了存储方法:整数用补码表示,浮点数用顺序码表示。还有指针变量,转换也比较复杂。在强制转换期间为目标类型设置临时变量,并在旋转后使用临时变量进行操作。一旦操作完成,临时变量就会消失。整个过程由编译器在编译时安排。