c - 在 C 语言中,sizeof 是以八位字节还是字符来衡量其结果?

标签 c char sizeof

尽管 char1 byte 组成在我知道的所有编译器上,我的印象是 C不保证 char 的长度, 它只保证 char < short < long . 因此我假设 sizeofchar 中测量其结果s 以便从其运行的平台中抽象出来。为了使它更通用,我认为 size_t根据 char 定义.

但是现在,据我在谷歌上搜索所见,sizeof 似乎是确实在 bytes 中返回其结果.

我的假设是完全错误的还是有更多的错误?

最佳答案

sizeof 使用的单位是char。该语言的公理之一是 sizeof(char) == 1

因此,对于 char 大于 8 位的系统,sizeof 不以 8 位为单位进行测量。

关于c - 在 C 语言中,sizeof 是以八位字节还是字符来衡量其结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22105229/

相关文章:

c - Open GL ES 2 - glFramebufferTexture2D with Incomplete Missing Attachment 错误

c - Linux 和 C : System() Command

python - 在Python模块中调用C头文件函数

javascript - 使用 charCodeAt 转换时出现 NaN 错误

C++如何正确计算const char中的字符?

Arduino 草图中的字符长度

c - 如果 sizeof(long) 在我的机器上是 4 个字节,我可以推断 sizeof(long long) 将是 8 个字节吗?

c - 为什么数组参数的大小与 main 中的大小不同?

c编程malloc问题

c++ - struct hack - 大小为零的数组