【发布时间】:2015-02-12 10:00:30
【问题描述】:
我认为标题是不言自明的,但格式更好。
sizeof(unsigned char)也保证为1吗?
我不认为这个问题是重复的,因为:
- C 与 C++ 不同(标签摘录:
...It was originally designed as an extension to C, and keeps a similar syntax, but is now a completely different language...)。 -
char可以是有符号或无符号的。没有理由假设sizeof(unsigned char)==sizeof(char)除非你得到标准的保证,因此问题。 - 即使您将 C 与 C++ 混淆,答案也不会重叠。
【问题讨论】:
-
好的。但是告诉我,它是如何复制的?
-
@remyabel 我读过它吗?这回答了我的问题,而不是是否存在 sizeof(char) != 1 的机器。
-
@remyabel 当然它可以改变,因为 C 不是 C++。我问的是完全不同的事情。
char可以签名也可以不签名,不能保证char=unsigned char。 -
@remyabel:回答这个问题的另一个问题的答案不是重复的条件。只有当 questions 重复时,它们才是重复的。当然没有理由简单地假设这在 C++ 中是相同的,或者
unsigned char和char是相同的。 -
@NathanOliver 问题是关于原则的。询问
sizeof(char)是否始终为 1 并询问sizeof(char) == sizeof(unsigned char)是否是一个完全不同的问题。此外,当前的副本是关于 C 的。当您想找到答案时,请查看 C++ 参考而不是 C,因为与流行的看法相反,C 不是 C++ 的子集。标签摘录应该引起您的注意。 cprogramming.com/tutorial/c-vs-c++.html