C 언어 기초
C 언어 규격에서 int형의 크기에 대해 정해져 있는 것으로 올바른 것은?
- A어느 처리계에서나 32비트로 정해져 있다
- B적어도 16비트라는 것만 정해져 있고, 실제 크기는 처리계가 정한다
- CCPU의 주소 폭과 같다고 정해져 있어, 64비트 CPU에서는 64비트가 된다
정답과 해설 보기
정답: B. 적어도 16비트라는 것만 정해져 있고, 실제 크기는 처리계가 정한다
C 언어 규격은 int가 적어도 −32767~32767을 나타낼 수 있을 것(즉 16비트 이상)만을 요구하며, 실제 크기는 처리계(컴파일러와 대상 CPU의 조합)가 정합니다. 16비트 마이컴용 컴파일러에서는 int가 16비트인 경우가 있고, 대부분의 PC나 32비트 마이컴에서는 32비트입니다. 64비트 Linux나 Windows에서도 int는 일반적으로 32비트 그대로이며, 포인터가 64비트가 됩니다. 정해진 크기의 정수가 필요할 때는 stdint.h의 int32_t 등을 사용합니다.