Namespaces
Variants

Type support

From cppreference.net
< c

참고 항목 type system overview arithmetic types defined by the language .

목차

기본 타입

추가 기본 타입 및 편의 매크로

헤더에 정의됨 <stddef.h>
sizeof 연산자가 반환하는 부호 없는 정수형
(typedef)
두 포인터를 뺄 때 반환되는 부호 있는 정수형
(typedef)
미리 정의된 널 포인터 상수 nullptr 의 타입
(typedef)
구현에서 정의하는 널 포인터 상수
(매크로 상수)
다른 모든 스칼라 타입만큼 큰 정렬 요구 사항을 가진 타입
(typedef)
구조체 타입의 시작부터 지정된 멤버까지의 바이트 오프셋
(함수 매크로)
헤더에 정의됨 <stdbool.h>
bool
(C99) (C23에서 제거됨)
편의 매크로, _Bool 으로 확장됨
(키워드 매크로)
true
(C99) (C23에서 제거됨)
정수 상수 1 으로 확장됨
(매크로 상수)
false
(C99) (C23에서 제거됨)
정수 상수 0 으로 확장됨
(매크로 상수)
__bool_true_false_are_defined
(C99) (C23에서 사용 중단됨)
정수 상수 1 으로 확장됨
(매크로 상수)
헤더에 정의됨 <stdalign.h>
alignas
(C11) (C23에서 제거됨)
편의 매크로, 키워드 _Alignas 으로 확장됨
(키워드 매크로)
alignof
(C11) (C23에서 제거됨)
편의 매크로, 키워드 _Alignof 으로 확장됨
(키워드 매크로)
__alignas_is_defined
(C11) (C23에서 제거됨)
정수 상수 1 으로 확장됨
(매크로 상수)
__alignof_is_defined
(C11) (C23에서 제거됨)
정수 상수 1 으로 확장됨
(매크로 상수)
헤더에 정의됨 <stdnoreturn.h>
noreturn
(C11) (C23에서 사용 중단됨)
편의 매크로, _Noreturn 으로 확장됨
(키워드 매크로)

고정 너비 정수 타입 (C99 이후)

숫자 제한

참고 사항

true false 의 타입은 _Bool 이 아닌 int 입니다.

프로그램은 bool , true , false 매크로를 정의 해제하고 재정의할 수 있습니다. 그러나 이러한 기능은 사용이 권장되지 않는 기능입니다.

(C99부터)
(C23까지)

true false 의 타입은 bool 입니다. bool , _Bool , true , false 중 어느 것이라도 미리 정의된 매크로로 구현되는지는 명시되지 않습니다.

만약 bool , true , false (단 _Bool 은 제외)가 미리 정의된 매크로로 정의된 경우, 프로그램은 이를 정의 해제하고 재정의할 수 있습니다.

(C23부터)

예제

#include <stdalign.h>
#include <stdbool.h>
#include <stdio.h>
int main(void)
{
    printf("%d %d %d\n", true && false, true || false, !false);
    printf("%d %d\n", true ^ true, true + true);
    printf("%zu\n", alignof(short));
}

가능한 출력:

0 1 1
0 2
2

참고문헌

  • C23 표준 (ISO/IEC 9899:2024):
  • 7.15 Alignment <stdalign.h> (p: TBD)
  • 7.18 Boolean type and values <stdbool.h> (p: TBD)
  • 7.19 Common definitions <stddef.h> (p: TBD)
  • 7.23 _Noreturn <stdnoreturn.h> (p: TBD)
  • 7.31.9 Boolean type and values <stdbool.h> (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.15 Alignment <stdalign.h> (p: 196)
  • 7.18 Boolean type and values <stdbool.h> (p: 210)
  • 7.19 Common definitions <stddef.h> (p: 211)
  • 7.23 _Noreturn <stdnoreturn.h> (p: 263)
  • 7.31.9 Boolean type and values <stdbool.h> (p: 332)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.15 Alignment <stdalign.h> (p: 268)
  • 7.18 Boolean type and values <stdbool.h> (p: 287)
  • 7.19 Common definitions <stddef.h> (p: 288)
  • 7.23 _Noreturn <stdnoreturn.h> (p: 361)
  • 7.31.9 Boolean type and values <stdbool.h> (p: 456)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.18 Boolean type and values <stdbool.h> (p: 253)
  • 7.19 Common definitions <stddef.h> (p: 254)
  • 7.26.7 Boolean type and values <stdbool.h> (p: 401)
  • C89/C90 표준 (ISO/IEC 9899:1990):
  • 4.1.5 공통 정의 <stddef.h>

참고 항목

C++ documentation for Type support library