C

C언어를 가르칩니다.

C C언어를 가르칩니다.

int

int형을 간략히 알아봅니다.

정수 int형

을 알아봅니다.

정의

int형은 정수 데이터형입니다. C에서 정수란 소수부가 없는 수(소수점이 없는 수)입니다. 따라서

5 != 5.0000;
-1 != -1.0;

입니다.

선언

int a; // 선언
a=0; //초기화
int b=8080; //선언 및 초기화

크기

int형은 기본적으로 4바이트(Byte)를 차지합니다. 1바이트가 8비트인 체계에서 4바이트는 32비트이므로 int형은 2^32개의 수를 나타낼 수 있습니다. 2^32개의 수를 나타낼 수 있다는 것은 표시 범위가 다음과 같다는 뜻입니다.

00000000000000000000000000000000 (32자리)

~

11111111111111111111111111111111

부호가 있으므로(Signed) 위의 범위에서 음수 양수 모두 표현할 수 있습니다.

//Size_of_int.c
#include <stdio.h>
#include <limits.h>
int main(void)
{
    printf("이 컴퓨터에서 1Byte는 %d bit입니다.\n",CHAR_BIT);
    printf("이 컴퓨터에서 int는 %zd byte를 차지합니다.\n",sizeof(int));
    printf("이 컴퓨터에서 int는 %lu bit를 차지하므로 2^%lu 개의 수를 나타낼 수 있습니다.\n",
            sizeof(int)*CHAR_BIT, sizeof(int)*CHAR_BIT);
    printf("이 컴퓨터에서 int의 최대값은 %d이고 최소값은 %d입니다.\n", INT_MAX, INT_MIN);

    return 0;
}
limit.h는 자료형의 최대/최솟값이 담긴 헤더 파일입니다. CHAR_BIT, INT_MAX 등의 기호 상수도 이 헤더 파일에 정의되어 있습니다.
sizeof()는 인자로 받은 것의 크기를 리턴합니다. int와 같은 자료형을 넣을 경우 해당 자료형이 차지하는 바이트 수를 리턴합니다.
%zd, %d, %lu는 당장은 몰라도 됩니다. 포맷 지정자라고 합니다. %d는 int를, %zd는 sizeof()의 리턴값을, %lu는 좀 큰 양수 정수(long unsigned int)를 나타냅니다.
앞으로, 언급해야 할 때가 아니라면, #include <stdio.h>나 int main(void)를 생략하겠습니다.

댓글

댓글 본문
작성자
비밀번호
버전 관리
truelight
현재 버전
선택 버전
graphittie 자세히 보기