CHAR 데이터 유형이 C에서 32 비트 대 64 비트에 저장되거나 표현되는 방식의 차이점은 무엇입니까?
-
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에서 수동 포인터 작업을 조심해야합니다.
제휴하지 않습니다 StackOverflow