尽管 char
由 1 byte
组成在我知道的所有编译器上,我的印象是 C
不保证 char
的长度, 它只保证 char < short < long
.
因此我假设 sizeof
在 char
中测量其结果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/