c语言中,整型赋予字符型,只把低八位赋予字符量是怎么回事

来源:百度知道 编辑:UC知道 时间:2024/05/31 17:37:41

根据标准,字符型(char)占用一个字节存储(一个字节8位)。
而整型(int)则视不同环境而定。现在常见的是2字节或者4字节。
拿2字节的整型举例,大多数情况下,第一个字节是低八位,第二个字节是高八位,那么问题就来了,将2字节的内容存储至1字节中,必然要舍去部分值。因此只会复制int型变量低八位的值至char型变量中,高八位的值没有地方复制,就舍去了,等同于高八位为0
于是就出现了LZ的问题。

一个整形占用4个字节, 一个字符是一个字节, 赋值时, 值付给低字节(低8位)

这是很正常的.

一般来说赋值前最好将这个整数值0.