char 与 unsigned char的本质区别
同一个内存内容:10010000
你用char* 解释是-112
你用unsigned char* 解释是144
还是同样这个内存内容赋给整型值,用unsigned char 类型还是会得到144,用char类型的就会是负数。
真正的差别还是取决于你的程序。某些情况这两种类型表示都行。
你用char* 解释是-112
你用unsigned char* 解释是144
还是同样这个内存内容赋给整型值,用unsigned char 类型还是会得到144,用char类型的就会是负数。
真正的差别还是取决于你的程序。某些情况这两种类型表示都行。
补充一下:
char 可能是signed char,也可能是unsigned char。这个取决于你的编译器
如果是signed char ,8位的话取值范围是-128..127
而unsigned char 的取值范围是0..255
char 可能是signed char,也可能是unsigned char。这个取决于你的编译器
如果是signed char ,8位的话取值范围是-128..127
而unsigned char 的取值范围是0..255
本文详细解析了char与unsigned char两种数据类型之间的本质差异。通过一个具体的内存内容示例,展示了不同类型指针如何解释相同的内存内容,导致不同的数值结果。此外,还介绍了这两种类型在不同编译器环境下可能的表现形式及其取值范围。
1861

被折叠的 条评论
为什么被折叠?



