什么是C语言中的char?
char是C/C++整型数据。
char型数据是计算机编程语言中只可容纳单个字符的一种基本数据类型,分为两种,一种是无符号整型数据类型(unsigned char),另一种是有符号整型数据类型(signed char)。
char是用于C或C++中定义字符型变量,只占一个字节,取值范围为-128 ~ +127(-2^7~2^7-1)。C语言中如int、long、short等不指定signed或unsigned时都默认为signed,但char在标准中不指定为signed或unsigned,编译器可以编译为带符号的,也可以编译为不带符号的。
char类型占1字节
就是8位,所能存储的正整数是 0111 1111,即127。如果将 int 型的整数i= 128 赋予ch,会产生溢出。因128是 int 型,占 4 字节,二进制代码为 0000 0000 0000 0000 0000 0000 1000 0000。
若将它赋给一个只有8位的char 类型变量,只能将低8位的1000 0000 放进去,其他的都会被删掉。整数在计算机中都是以补码的形式存储的,此时1000 0000 在计算机的眼里,是一个补码,最左边是 1 表示负数,补码1000 0000 所对应的十进制是 -128,所以最后输出的就是 -128。
以上内容参考:百度百科-char