Namespaces
Variants

Type support

From cppreference.net
< c

Voir aussi vue d'ensemble du système de types et types arithmétiques définis par le langage .

Table des matières

Types de base

Types de base supplémentaires et macros de commodité

Défini dans l'en-tête <stddef.h>
type entier non signé retourné par l'opérateur sizeof
(typedef)
type entier signé retourné lors de la soustraction de deux pointeurs
(typedef)
le type de la constante de pointeur nul prédéfinie nullptr
(typedef)
constante de pointeur nul définie par l'implémentation
(macro constante)
un type avec une exigence d'alignement aussi grande que tout autre type scalaire
(typedef)
décalage en octets depuis le début d'un type struct jusqu'au membre spécifié
(macro fonction)
Défini dans l'en-tête <stdbool.h>
bool
(C99) (supprimé en C23)
macro de commodité, se développe en _Bool
(macro mot-clé)
true
(C99) (supprimé en C23)
se développe en constante entière 1
(macro constante)
false
(C99) (supprimé en C23)
se développe en constante entière 0
(macro constante)
__bool_true_false_are_defined
(C99) (obsolète en C23)
se développe en constante entière 1
(macro constante)
Défini dans l'en-tête <stdalign.h>
alignas
(C11) (supprimé en C23)
macro de commodité, se développe en mot-clé _Alignas
(macro mot-clé)
alignof
(C11) (supprimé en C23)
macro de commodité, se développe en mot-clé _Alignof
(macro mot-clé)
__alignas_is_defined
(C11) (supprimé en C23)
se développe en constante entière 1
(macro constante)
__alignof_is_defined
(C11) (supprimé en C23)
se développe en constante entière 1
(macro constante)
Défini dans l'en-tête <stdnoreturn.h>
noreturn
(C11) (obsolète en C23)
macro de commodité, se développe en _Noreturn
(macro mot-clé)

Types entiers de largeur fixe (depuis C99)

Limites numériques

Notes

Le type de true et false est int plutôt que _Bool .

Un programme peut annuler la définition et éventuellement redéfinir les macros bool , true et false . Cependant, cette capacité est une fonctionnalité obsolète.

(depuis C99)
(jusqu'à C23)

Le type de true et false est bool . Il n'est pas spécifié si l'une des entités bool , _Bool , true , ou false est implémentée comme une macro prédéfinie.

Si bool , true , ou false (mais pas _Bool ) est défini comme une macro prédéfinie, un programme peut annuler sa définition et éventuellement la redéfinir.

(depuis C23)

Exemple

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

Sortie possible :

0 1 1
0 2
2

Références

  • Norme C23 (ISO/IEC 9899:2024) :
  • 7.15 Alignement <stdalign.h> (p: TBD)
  • 7.18 Type booléen et valeurs <stdbool.h> (p: TBD)
  • 7.19 Définitions communes <stddef.h> (p: TBD)
  • 7.23 _Noreturn <stdnoreturn.h> (p: TBD)
  • 7.31.9 Type booléen et valeurs <stdbool.h> (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.15 Alignement <stdalign.h> (p: 196)
  • 7.18 Type booléen et valeurs <stdbool.h> (p: 210)
  • 7.19 Définitions communes <stddef.h> (p: 211)
  • 7.23 _Noreturn <stdnoreturn.h> (p: 263)
  • 7.31.9 Type booléen et valeurs <stdbool.h> (p: 332)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.15 Alignement <stdalign.h> (p: 268)
  • 7.18 Type booléen et valeurs <stdbool.h> (p: 287)
  • 7.19 Définitions communes <stddef.h> (p: 288)
  • 7.23 _Noreturn <stdnoreturn.h> (p: 361)
  • 7.31.9 Type booléen et valeurs <stdbool.h> (p: 456)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.18 Type booléen et valeurs <stdbool.h> (p: 253)
  • 7.19 Définitions communes <stddef.h> (p: 254)
  • 7.26.7 Type booléen et valeurs <stdbool.h> (p: 401)
  • Norme C89/C90 (ISO/CEI 9899:1990) :
  • 4.1.5 Définitions communes <stddef.h>

Voir aussi

Documentation C++ pour Bibliothèque de support des types