CHAR 데이터 유형이 C에서 32 비트 대 64 비트에 저장되거나 표현되는 방식의 차이점은 무엇입니까?

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

  •  20-09-2019
  •  | 
  •  

문제

CHAR 데이터 유형이 C에서 32 비트 대 64 비트에 저장되거나 표현되는 방식의 차이점은 무엇입니까?

도움이 되었습니까?

해결책

다른 점이 없다.
하나의 숯은 하나의 바이트를 차지합니다.
하나의 바이트에는 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;
}

다른 팁

한 가지 가능한 차이점은 숯이 32 비트 경계가 아닌 64 비트에서 정렬 될 수 있다는 것입니다.

struct {
  char a;
  char b;
}

32 비트에서 2 * 4 바이트를, 64 비트에서 2 * 8 바이트를 차지할 수 있습니다.

편집 -실제로는 그렇지 않을 것입니다. 모든 Sane Compier는 바이트 경계에 숯 만있는 구조물을 재 포장합니다. 그러나 '긴 c;'를 추가하면 결국 어떤 일이 일어날 수 있습니다. 그렇기 때문에 A) 크기가 ()와 b)가있는 이유는 c에서 수동 포인터 작업을 조심해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top