之间有什么char数据类型是如何被存储或32位VS用C代表64位的区别?
-
20-09-2019 - |
题
之间有什么char数据类型如何存储或在32位64位VS表示在C中的差异?
解决方案
有什么区别。结果 一个字符占用一个字节。结果 一个字节具有CHAR_BIT位。
#include <limits.h>
#include <stdio.h>
int main(void) {
printf("a char occupies 1 byte of %d bits.\n", CHAR_BIT);
return 0;
}
其他提示
一种可能的不同的是,字符可能在64位对齐,而不是32位边界。
struct {
char a;
char b;
}
可能最多在32位2 * 4个字节,在64位2 * 8个字节。
编辑-actually不会。任何理智的编译器将重新包装与字节边界上只有一个字符结构。但是如果添加了'长℃;到底什么事情都可能发生。这就是为什么A)您的sizeof()和b)你应该小心在C上工指针的东西。
不隶属于 StackOverflow