Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Type nullptr_t (C23)

Le type max_align_t La macro unreachable


Entête à inclure

#include <stddef.h>  // <cstddef> en C++

Type nullptr_t

C23 introduit la constante nullptr et le type associé nullptr_t. L'objectif est de disposer d'une valeur de pointeur nul explicite, moins ambiguë que la macro historique NULL.

Le type nullptr_t devient intéressant lorsque l'on veut distinguer explicitement nullptr d'autres expressions, notamment avec _Generic.

L'exemple suivant détecte une expression de type nullptr_t avec une sélection générique.

 1 
 2 
 3 
 4 
 5 
 6 
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>

#define type_name(value) _Generic( (value), Bad token syntaxe: type == UNDEFINED - currentChar == \ [92] content == 

Identifier nullptr avec _Generic

Les résultats produits par cet exemple sont :

nullptr : nullptr_t
pointer : autre type

Sujets connexes

La librairie stddef.h
NULL
Nouveautés introduites par C23


Le type max_align_t La macro unreachable




Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé