( typ ) ausdruckausdruck wird ausgewertet, der ermittelte Wert wird anschließend in einen Wert des Datentyps typ umgewandelt.
Die Anwendung des sogenannten Cast-Operators ist dann sinnvoll, wenn der Wert von ausdruck in einem anderen Datentyp als den durch ausdruck bestimmten benötigt wird.
Beispiel 1:
int m = 1, n = 2; double d; d = m / n; /* liefert 0 */ d = double(m) / (double)n; /* liefert 0.5 */Beispiel 2:
float x = 2, y; y = (float)sqrt((double)x); /* sqrt arbeitet mit dem Typ double */Bemerkung:
y = sqrt(x);zum korrekten Ergebnis führt.
Die implizit bei Zuweisungen angewendeten Regeln der Werttransformation gelten auch für explizite Typumwandlungen in vollem Umfang.
Beispiel 3:
(void)getchar();Das Programm soll auf die Betätigung einer beliebigen Taste warten, das eingegebene Zeichen wird nicht benötigt.
C++ ermöglicht eine alternative syntaktische Darstellung:
typ ( ausdruck )Beispiel:
#include <stdio.h>
int main(void)
{
char c = 'a';
int i = int(c);
double d = double(c);
printf("%c %d %lf\n", c, i, d);
return 0;
}