int는 4바이트다. 가 항상 맞는 말은 아니다.
기본 데이터형 중 정수형인 int는 컴파일러마다 다르다.
이는 컴파일러마다 다른데, 이를 구현 의존도(implementation dependency) 라하고, limits.h에서 확인해봐야한다.
보통 CPU에서 가장 빠른 데이터 사이즈가 워드이므로 int 도 이 사이즈에 맞추는 경향이 있다.
따라서 32비트 워드를 가지는 CPU에서는 int가 32비트인 경우가 대부분이다. (반드시 그런것은 아니다.)
short와 int는 최소 2바이트지만, int는 short와 같거나 커야 한다.
C 표준(C89, C99, C11)에 따르면,
int는 “플랫폼에 따라 크기가 달라질 수 있다"고 정의되어 있다.
단, 다음 제약 조건을 충족해야 합니다:
sizeof(short) <= sizeof(int) <= sizeof(long)
최소 크기는 16비트이어야 합니다.
int는 컴파일러와 플랫폼(32비트, 64비트, 임베디드 시스템 등)의 특성에 따라 다르게 구현됩니다.