Dies ist eine alte Version des Dokuments!
Unter »Typecasting« versteht man die Typumwandlung einer Variablen oder eines Zeigers eines bestimmten Typs (zB int) in einen anderen Typ (zB float) um vorübergehend eine höhere Genauigkeit zu erreichen oder um zwei Objekte vorübergehend zueinander kompatibel zu machen:
Man unterscheidet prinzipiell zwischen der »impliziten« und »expliziten« Typumwandlung.
Eine implizite Typumwandlung wird nicht im Code vorgenommen, sondern wird vom Compiler automatisch erkannt und entsprechend durchgeführt. Eine »implizite« Typumwandlung kann nur von kleinen zu großen Datentypen erfolgen, wie im folgenden Beispiel:
implizite Typumwamdlung
#include <stdio.h> int main() { int i = 5; float f = i; //implizite Typumwamdlung von int nach float { printf(" %d\n %f\n",i,f); } return 0; }
Die Ausgabe zeigt sich wie folgt:
$ ./cast_1
5
5.000000
Bei der »expliziten« Typumwandlung wird die Typumwandlung im Code vorgenommen. Es gilt dabei folgende Syntax: »(Zieltyp)Ausdruck«, wobei »Zieltyp« der Datentyp ist, zu dem »Ausdruck« konvertiert werden soll.