각종 자료형들의 크기에 대해서는 흔하지만,
32비트와 64비트에서 각각 다른 부분에 대해서 명확하게 보기 위해서 작성했습니다.
#include <stdio.h>
int main(void)
{
int value;
printf("char: %d\n", sizeof(char));
printf("short: %d\n", sizeof(short));
printf("int: %d\n", sizeof(int));
printf("long: %d\n", sizeof(long));
printf("long long: %d\n", sizeof(long long));
printf("float: %d\n", sizeof(float));
printf("double: %d\n", sizeof(double));
printf("pointer: %d\n", sizeof(&value));
getchar();
return 0;
}
파일의 소스 코드이구요.
각각 32비트와 64비트로 컴파일 한 파일을 게시하겠습니다.
각각 다운 받아서 실행해보시면 되구요.
먼저 32비트의 사진입니다.
나머지 아시던대로고 포인터가 4바이트 입니다.
64비트는 32비트에서 포인터 외에 달라진 점이 없네요.
int와 포인터는 1 word를 따를 줄 알았는데.
int 형의 경우에는 4바이트로 고정값이 되어 있습니다.
이에 대해서 검색해서 알아본 결과
32비트와의 호환성을 위하여 int형의 경우에는 고정이라고 하네요...
포인터는 그냥 1 word 값을 따르고요~
'프로그래밍 > C' 카테고리의 다른 글
[C] 스네이크 게임 (0) | 2016.09.12 |
---|---|
[C] 리눅스 환경에서 컴파일 (0) | 2016.08.09 |
[C] 2차원 이동 예제(측면에서 바라보는 시점) (0) | 2016.07.08 |
[C] 2차원 이동 예제(위에서 바라보는 시점) (0) | 2016.06.25 |
[C] 간단한 Up AND Down 게임 (0) | 2016.06.25 |