之间有什么char数据类型是如何被存储或32位VS用C代表64位的区别?

StackOverflow https://stackoverflow.com/questions/1526510

  •  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上工指针的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top