몽-구
몽구의 우당탕탕 개발 공부
몽-구
전체 방문자
오늘
어제
  • 분류 전체보기 (106)
    • PS (38)
      • 백준 (24)
      • 프로그래머스 (14)
    • Dev (58)
      • Kotlin (0)
      • Java (4)
      • Spring, SpringBoot (1)
      • C (8)
      • Python (10)
      • Dart (1)
      • 알고리즘 (7)
      • 자료구조 (3)
      • Git (1)
      • Linux (2)
      • VS Code (1)
      • 환경 설정 (8)
      • Conference (1)
      • 42Seoul (3)
      • Node.js (1)
      • ShellScript (1)
      • IntelliJ (0)
      • MacOS (2)
      • 기타 (3)
    • CS (1)
      • 데이터베이스 (1)
    • DS (4)
      • Coursera (4)
    • 리뷰 (1)
      • 제품 리뷰 (1)
    • 일상 (3)
      • 자동화 (1)
      • 목표 및 계획 (2)
      • 회고 (0)
    • 삶에 대한 태도 (1)
      • 유튜브를 보며 (1)

블로그 메뉴

  • GitHub

인기 글

반응형

태그

  • 리눅스
  • Python
  • c언어
  • 백준온라인저지
  • 알고리즘
  • 파이썬
  • 백준알고리즘
  • sort
  • 정렬
  • 프로그래머스
  • Algorithm
  • BOJ
  • 코딩테스트
  • Linux
  • 백준

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
몽-구

몽구의 우당탕탕 개발 공부

[C언어] 정수 자료형 정리 (64bit Windows 기준)
Dev/C

[C언어] 정수 자료형 정리 (64bit Windows 기준)

2020. 6. 15. 22:26
반응형

일반적인 정수 자료형

C언어에서 사용하는 정수 자료형 중 자주 쓰이면서 핵심적인 자료형은 정해져있다. 아래 표에 정리되지 않은 것들은 본 글 최하단에 기재되어 있는 링크를 통해 확인하자.

 

자료형 크기 범위 최솟값 최댓값 형식 지정자
(signed) char 1byte
(8bit)
-128 ~
127
CHAR_MIN CHAR_MAX %d
unsigned char 1byte
(8bit)
0 ~
255
0 UCHAR_MAX %u
(signed) int 4byte
(32bit)
-2,147,483,648 ~
2,147,483,647
INT_MIN INT_MAX %d
unsigned int 4byte
(32bit)
0 ~
4,294,967,295
0 UINT_MAX %u
(signed) long long 8byte
(64bit)
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 LLONG_MIN LLONG_MAX %lld
unsigned long long 8byte
(64bit)
0 ~
18,446,744,073,709,551,615
0 ULLONG_MAX %llu

* 최솟값 및 최댓값은 limits.h 헤더 파일에 정의되어 있으므로 해당 심볼을 사용하고자 한다면 해당 헤더 파일을 include해야 한다.

* 각 자료형에서 부호를 사용하고자 할 때는 기본 형태를 사용하거나 자료형 앞에 signed를 붙이면 된다.

 

 

 

stdint.h 헤더 파일을 사용한 정수 자료형

자주 쓰이진 않아 위 표에 적지 않았는데 4byte 크기를 가진 long 자료형이 존재한다. 주의할 것은 64비트 OS 플랫폼이 생겨난 이후, long을 8bit로 쓰는 운영체제들이 있다는 것이다. Windows를 제외하면 대표적인 OS가 리눅스랑 OS X가 있을텐데, 두 운영체제 모두 64비트일 경우 long을 8비트로 사용하고 있다. OS가 다르다는 이유만으로 서로 이식 및 호환이 되지 않는 코드가 존재한다면, 정말 생각만 해도 끔찍하다.

 

이러한 문제점을 극복하고자 C99 표준부터는 int의 standard를 제시했고 그 내용을 기반으로 stdint.h이 추가되었다. 아래 표는 stdint.h에 정의되어 있는 내용이다.

 

자료형 크기 범위 최솟값 최댓값 형식 지정자
int8_t 1byte
(8bit)
-128 ~
127
INT8_MIN INT8_MAX %d
int16_t 2byte
(16bit)
-32,768 ~
32,767
INT16_MIN INT16_MAX %d
int32_t 4byte
(32bit)
-2,147,483,648 ~
2,147,483,647
INT32_MIN INT32_MAX %d
int64_t 8byte
(64bit)
-9,223,372,036,854,775,808 ~
9,223,372,036,854,775,807
INT64_MIN INT64_MAX %lld
uint8_t 1byte
(8bit)
0 ~
255
0 UINT8_MAX %u
uint16_t 2byte
(16bit)
0 ~
65,535
0 UINT16_MAX %u
uint32_t 4byte
(32bit)
0 ~
4,294,967,295
0 UINT32_MAX %u
uint64_t 8byte
(64bit)
0 ~
18,446,744,073,709,551,615
0 UINT64_MAX %llu

* 최솟값 및 최댓값은 stdint.h 헤더 파일에 정의되어 있으므로 해당 심볼을 사용하고자 할 때 따로 limits.h 헤더 파일을 include할 필요가 없다.

 

 

 

Source

1. C언어 코딩 도장: 7.0 정수 자료형 사용하기

2. C언어 코딩 도장: 7.1 정수형 변수 선언하기

3. C언어 코딩 도장: 핵심 정리

반응형
저작자표시 (새창열림)

'Dev > C' 카테고리의 다른 글

[C언어] scanf 정리  (0) 2020.06.25
[C언어] 변수와 자료형, 그리고 상수  (0) 2020.06.20
[C언어] 문자 자료형과 아스키 코드(ASCII)  (1) 2020.06.19
[C언어] 실수형 변수 출력 시 소수점 자릿수 조절 (반올림/올림/내림)  (0) 2020.06.17
[C언어] 실수 자료형 정리 (64bit Windows 기준)  (0) 2020.06.16
    'Dev/C' 카테고리의 다른 글
    • [C언어] 변수와 자료형, 그리고 상수
    • [C언어] 문자 자료형과 아스키 코드(ASCII)
    • [C언어] 실수형 변수 출력 시 소수점 자릿수 조절 (반올림/올림/내림)
    • [C언어] 실수 자료형 정리 (64bit Windows 기준)
    몽-구
    몽-구
    소망보단 목표를, 생각보단 실천을

    티스토리툴바