Namespaces
Variants

Type support

From cppreference.net
< c

関連項目 type system overview および arithmetic types defined by the language

目次

基本型

追加の基本型と便利なマクロ

定義済みヘッダ <stddef.h>
sizeof 演算子によって返される符号なし整数型
(typedef)
2つのポインタを減算したときに返される符号付き整数型
(typedef)
定義済みのnullポインタ定数 nullptr の型
(typedef)
実装定義のnullポインタ定数
(マクロ定数)
他のスカラー型と同じかそれ以上のアライメント要件を持つ型
(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 アラインメント <stdalign.h> (p: TBD)
  • 7.18 ブーリアン型と値 <stdbool.h> (p: TBD)
  • 7.19 共通定義 <stddef.h> (p: TBD)
  • 7.23 _Noreturn <stdnoreturn.h> (p: TBD)
  • 7.31.9 ブーリアン型と値 <stdbool.h> (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.15 アラインメント <stdalign.h> (p: 196)
  • 7.18 ブーリアン型と値 <stdbool.h> (p: 210)
  • 7.19 共通定義 <stddef.h> (p: 211)
  • 7.23 _Noreturn <stdnoreturn.h> (p: 263)
  • 7.31.9 ブーリアン型と値 <stdbool.h> (p: 332)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.15 アラインメント <stdalign.h> (p: 268)
  • 7.18 ブーリアン型と値 <stdbool.h> (p: 287)
  • 7.19 共通定義 <stddef.h> (p: 288)
  • 7.23 _Noreturn <stdnoreturn.h> (p: 361)
  • 7.31.9 ブーリアン型と値 <stdbool.h> (p: 456)
  • C99標準 (ISO/IEC 9899:1999):
  • 7.18 ブーリアン型と値 <stdbool.h> (p: 253)
  • 7.19 共通定義 <stddef.h> (p: 254)
  • 7.26.7 ブーリアン型と値 <stdbool.h> (p: 401)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.1.5 共通定義 <stddef.h>

関連項目

C++ documentation for Type support library
日本語訳:
C++ documentation for Type support library
翻訳結果: - "C++ documentation" → 「C++ ドキュメント」 - "Type support library" → 「型サポートライブラリ」 - "for" → 「の」 HTMLタグ、属性、C++固有の用語は翻訳せず、元のフォーマットを保持しています。