Conversions de cast de type

Vous pouvez utiliser des casts de type pour convertir explicitement des types.

Syntaxe

  • expression de cast:
    expression unaire

    expression de castde**)** nom du type de**(**

  • nom de type:
    résumé-déclarateur de spécificateur-qualificateur-liste opt

Le nom de type est un type et l'expression de cast est une valeur à convertir en ce type.Une expression avec un cast de type n'est pas une l-value.L'expression de cast est convertie comme s'il avait été assignée à une variable du nom de typede type.Les règles de conversion pour les assignations (présentées dans Conversions d'assignation) s'appliquent à des casts de type également.Le tableau suivant affiche les types qui peuvent être castées en un type donné.

Casts de types autorisés

types de destination

Sources potentielles

Types intégraux

Tout type ou type à virgule flottante entier, ou pointeur vers un objet

virgule flottante

tout type arithmétique

Un pointeur vers un objet, ou (void *)

Tout type entier, (void *), un pointeur vers un objet, ou un pointeur fonction

Pointeur fonction

Tout type intégral, un pointeur vers un objet, ou un pointeur fonction

Une structure, une union, ou un tableau

Aucun

type void

Tout type

Tout identificateur peut être casté au type d' void .Toutefois, si le type spécifié dans une expression de cast de type n'est pas void, puis l'identificateur être casté en ce type ne peut pas être une expression d' void .Toute expression peut être casté en void, mais une expression de type void ne peut pas être casté en un autre type.Par exemple, une fonction de type de retour d' void ne peut pas avoir son cast de retour à un autre type.

notez qu'une expression de void * a un pointeur de type à void, pas type void.Si un objet est attribuée au type d' void , l'expression obtenue ne peut pas être assignée à un élément.De même, un objet de conversion de type n'est pas une l-value acceptable, aucun assignation ne peut être fait à un objet de conversion de type.

Spécifique à Microsoft

Un cast de type peut être une expression lvalue tant que la taille de l'identificateur ne change pas.Pour plus d'informations sur les expressions l-value, consultez l' Expressions l-value et de R-Valeur.

détail de FIN Microsoft

Vous pouvez convertir une expression en un type void avec un cast, mais l'expression obtenue peut être utilisée uniquement si une valeur n'est pas requise.Un pointeur d'objet converti en void * puis vers le type d'origine retrouve sa valeur d'origine.

Voir aussi

Concepts

Conversions de type (c)