2017-02-13 163 views
-2

你好,我有一些关于C++变量类型(char)的问题。
我读了一些网站,这个字符支持范围从(-128到127)和无符号(0到255)。这是什么意思?C++字符类型的长度和大小

字符支持不只是数字,他们为什么说(-128到127)?

这个范围是什么意思?

范围为什么?

我的另一个问题是:当我们为什么需要设置未签名或签名或...之前焦炭我可以用这

const char * Data; 

Data = "dddddddddddddddddddddddddddddddddddddddddddddddde21312313dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddde21312313dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddde21312313dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddde21312313dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddde21312313dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"; 

这个动作(也使用*)系统自动检测字符的长度并保持正常和标准大小的存储大小...为什么我们需要设置大小如(char Data[255])当我们可以做到这一点,并有动态大小和跳过静态大小?

或与此行动为什么我们需要(wchar_t)了吗??? !

+1

听起来像你可以使用[良好的C++书](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – NathanOliver

+0

什么阻止你使用大写字母? –

+0

我没有在那个链接上找到我的答案 – Samethings

回答

1

字符支持不只是数字,他们为什么说(-128到127)?

其实你错了。 char s 只是数字。您正在考虑这些数字的ASCII表示。例如,您认为d究竟是多少100

所以,这是肯定地说,一个签名char可容纳唯一值的范围是-128 → 127.不过,声明假定char没有限定符被签名,这并非总是如此。

+0

和我的第二个问题? – Samethings

+1

@Samethings:我没有回答。请给每个问题一个问题。 –

+0

3个不同的字符类型,因为这个问题被标记为C++ ...无符号字符,有符号字符和char(无说明符)实际上是不同的类型... – Macmade