Namespaces
Variants

Type support

From cppreference.net
< c

Siehe auch Übersicht des Typsystems und arithmetische Typen, die durch die Sprache definiert sind .

Inhaltsverzeichnis

Grundlegende Typen

Zusätzliche Basistypen und Komfort-Makros

Definiert im Header <stddef.h>
vorzeichenloser Ganzzahltyp, zurückgegeben vom sizeof Operator
(typedef)
vorzeichenbehafteter Ganzzahltyp, zurückgegeben bei Subtraktion zweier Zeiger
(typedef)
der Typ der vordefinierten Nullzeigerkonstante nullptr
(typedef)
implementierungsdefinierte Nullzeigerkonstante
(Makrokonstante)
ein Typ mit Ausrichtungsanforderung so groß wie jeder andere skalare Typ
(typedef)
Byte-Offset vom Anfang eines Struct-Typs zum angegebenen Mitglied
(Funktionsmakro)
Definiert im Header <stdbool.h>
bool
(C99) (entfernt in C23)
Bequemlichkeitsmakro, expandiert zu _Bool
(Schlüsselwortmakro)
true
(C99) (entfernt in C23)
expandiert zur Ganzzahlkonstante 1
(Makrokonstante)
false
(C99) (entfernt in C23)
expandiert zur Ganzzahlkonstante 0
(Makrokonstante)
__bool_true_false_are_defined
(C99) (veraltet in C23)
expandiert zur Ganzzahlkonstante 1
(Makrokonstante)
Definiert im Header <stdalign.h>
alignas
(C11) (entfernt in C23)
Bequemlichkeitsmakro, expandiert zum Schlüsselwort _Alignas
(Schlüsselwortmakro)
alignof
(C11) (entfernt in C23)
Bequemlichkeitsmakro, expandiert zum Schlüsselwort _Alignof
(Schlüsselwortmakro)
__alignas_is_defined
(C11) (entfernt in C23)
expandiert zur Ganzzahlkonstante 1
(Makrokonstante)
__alignof_is_defined
(C11) (entfernt in C23)
expandiert zur Ganzzahlkonstante 1
(Makrokonstante)
Definiert im Header <stdnoreturn.h>
noreturn
(C11) (veraltet in C23)
Bequemlichkeitsmakro, expandiert zu _Noreturn
(Schlüsselwortmakro)

Integer-Typen fester Breite (seit C99)

Numerische Grenzwerte

Hinweise

Der Typ von true und false ist int anstatt _Bool .

Ein Programm kann die Makros bool , true und false undefinieren und möglicherweise neu definieren. Diese Fähigkeit ist jedoch ein veraltetes Feature.

(seit C99)
(bis C23)

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

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

(seit C23)

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

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.15 Ausrichtung <stdalign.h> (S.: TBD)
  • 7.18 Boolean-Typ und Werte <stdbool.h> (S.: TBD)
  • 7.19 Allgemeine Definitionen <stddef.h> (S.: TBD)
  • 7.23 _Noreturn <stdnoreturn.h> (S.: TBD)
  • 7.31.9 Boolean-Typ und Werte <stdbool.h> (S.: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.15 Ausrichtung <stdalign.h> (S: 196)
  • 7.18 Boolean-Typ und Werte <stdbool.h> (S: 210)
  • 7.19 Allgemeine Definitionen <stddef.h> (S: 211)
  • 7.23 _Noreturn <stdnoreturn.h> (S: 263)
  • 7.31.9 Boolean-Typ und Werte <stdbool.h> (S: 332)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.15 Alignment <stdalign.h> (S: 268)
  • 7.18 Boolean-Typ und Werte <stdbool.h> (S: 287)
  • 7.19 Allgemeine Definitionen <stddef.h> (S: 288)
  • 7.23 _Noreturn <stdnoreturn.h> (S: 361)
  • 7.31.9 Boolean-Typ und Werte <stdbool.h> (S: 456)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.18 Boolean-Typ und Werte <stdbool.h> (S. 253)
  • 7.19 Allgemeine Definitionen <stddef.h> (S. 254)
  • 7.26.7 Boolean-Typ und Werte <stdbool.h> (S. 401)
  • C89/C90-Standard (ISO/IEC 9899:1990):
  • 4.1.5 Allgemeine Definitionen <stddef.h>

Siehe auch

C++-Dokumentation für Type Support Library