Namensräume
Varianten
Aktionen

Typunterstützung

Von cppreference.com
< c

Siehe auch Übersicht über das Typsystem und arithmetische Typen, die von der Sprache definiert werden.

Inhalt

[bearbeiten] Grundlegende Typen

[bearbeiten] Zusätzliche grundlegende Typen und Komfortmakros

Definiert im Header <stddef.h>
vorzeichenloser Ganzzahltyp, der vom Operator sizeof zurückgegeben wird
(typedef) [bearbeiten]
vorzeichenbehafteter Ganzzahltyp, der bei der Subtraktion zweier Zeiger zurückgegeben wird
(typedef) [bearbeiten]
der Typ der vordefinierten Nullzeigerkonstante nullptr
(typedef) [bearbeiten]
implementierungsdefinierte Nullzeigerkonstante
(macro constant) [bearbeiten]
ein Typ mit einer Ausrichtungsanforderung, die so groß ist wie bei jedem anderen Skalartyp
(typedef) [bearbeiten]
Byte-Offset vom Anfang eines Strukturtyps zu einem angegebenen Element
(function macro) [bearbeiten]
Definiert im Header <stdbool.h>
bool
(C99)(entfernt in C23)
Komfortmakro, expandiert zu _Bool
(Keyword-Makro)
true
(C99)(entfernt in C23)
expandiert zu ganzzahliger Konstante 1
(Makro-Konstante)
false
(C99)(entfernt in C23)
expandiert zu ganzzahliger Konstante 0
(Makro-Konstante)
__bool_true_false_are_defined
(C99)(veraltet in C23)
expandiert zu ganzzahliger Konstante 1
(Makro-Konstante)
Definiert im Header <stdalign.h>
alignas
(C11)(entfernt in C23)
Komfortmakro, expandiert zum Keyword _Alignas
(Keyword-Makro)
alignof
(C11)(entfernt in C23)
Komfortmakro, expandiert zum Keyword _Alignof
(Keyword-Makro)
__alignas_is_defined
(C11)(entfernt in C23)
expandiert zu ganzzahliger Konstante 1
(Makro-Konstante)
__alignof_is_defined
(C11)(entfernt in C23)
expandiert zu ganzzahliger Konstante 1
(Makro-Konstante)
Definiert im Header <stdnoreturn.h>
noreturn
(C11)(veraltet in C23)
Komfortmakro, expandiert zu _Noreturn
(Keyword-Makro)

[bearbeiten] Ganzzahltypen mit fester Breite (seit C99)

[bearbeiten] Numerische Grenzwerte

[bearbeiten] Hinweise

Der Typ von true und false ist int und nicht _Bool.

Ein Programm kann die Makros bool, true und false undefinieren und möglicherweise dann neu definieren. Diese Möglichkeit ist jedoch ein veraltetes Merkmal.

(seit C99)
(bis C23)

Der Typ von true und false ist bool. Es ist nicht spezifiziert, ob bool, _Bool, true oder false als vordefiniertes Makro implementiert wird.

Wenn bool, true oder false (aber nicht _Bool) als vordefiniertes Makro definiert ist, kann ein Programm es undefinieren und möglicherweise neu definieren.

(seit C23)

[bearbeiten] Beispiel

#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));
}

Mögliche Ausgabe

0 1 1
0 2
2

[bearbeiten] Referenzen

  • C23-Standard (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-Standard (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-Standard (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-Standard (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-Standard (ISO/IEC 9899:1990)
  • 4.1.5 Common definitions <stddef.h>

[bearbeiten] Siehe auch

C++ Dokumentation für Typunterstützungsbibliothek