본문 바로가기

언어/C언어 - 300제

012 - 정수형 변수 이해하기(int)

=================================================================
#include <stdio.h>

main()
{
 int i;
 unsigned int j;
 char k;

 i = 2000000000;
 j = 4000000000;
 k = 'b';

 printf("정수형 변수 i의 값은 %d \n",i);
 printf("정수형 변수 j의 값은 %u \n",j);
 printf("정수형 변수 k의 값은 %d \n",k);
}
=================================================================

사용자 삽입 이미지

2번째 printf문에서 %u는 unsigned int형을
출력 하기 위해 사용하였다. 만약 %d를 사용한다면
int형의 범위로 값이 출력되므로
4000000000이 아닌 음수형의 값이출력 될 것이다.
컴파일러에 따라 다르지만 32bit 운영체제에서는
대부분 int, long이 모두 4바이트를 가지므로
같은 범위의 숫자를 가진다.
unsigned int와 unsigned long도 마찬가지이다.