首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于char类型,该怎么处理

2012-04-26 
关于char类型请问,我在一个本书上看到这么一段话,“char有三种不同的类型:普通char,unsigned char,signed c

关于char类型
请问,我在一个本书上看到这么一段话,“char有三种不同的类型:普通char,unsigned char,signed char。虽然char有三种不同的类型,但只有两种表达方式,可以用unsigned char和signed char表示。使用哪种char表示方式有编译器决定。”
  这段话,不太理解。。。求高手指点。

[解决办法]
在编译器选项中能够选择char的类型是否为带符号的!~属性-配置属性-C\C++语言-语言-默认char无符号-是或否!
[解决办法]
默认机制
好比一般的编译器把 char等同于unsigned char
因为在里面都是四位的可以通过类型转换得到 不过还是手工定义好一点 避免编译器的不一样而造成问题
[解决办法]
当写int的时候,即是signed int,int是signed int的略写,各编译器均如此,此为标准
但当写char的时候,标准没有规定是signed char的略写
char到底实现为有符号还是无符号,由编译器决定
语法检查时,作为三种类型来对待
即使明知是有符号的,也不能直接转换

C/C++ code
void func(char*){}int main(){    char *c;    signed char *sc;    unsigned char *uc;    func(c);    func(sc); // error    func(uc); // error    return 0;} 

热点排行