Typkollision
und
Typwandlung |
Die Problematik
Bis jetzt haben wir zwei Arten von Variablen kennengelernt:
Die Integer-Variablen und die Float-Variablen. Nun können
folgende zwei Situationen auftreten:
Wir haben eine Variable als Integer-Variable deklariert,
weisen ihr im Programm aber eine Float-Variable zu.
Wir haben eine Variable als Float-Variable deklariert,
weisen ihr im Programm aber eine Integer-Variable zu.
Wie reagiert der Computer auf solche Fehler, die man
Typkollisionen nennt?
Fall 1
Prinzipiell darf einer Integer-Variablen niemals eine
Zahl vom Typ Float zugewiesen werden.
Fall 2
Wenn einer Float-Variablen eine Integer-Zahl
zugewiesen wird, wandelt C die Integer-Zahl
in eine Float-Zahl um.
C führt hier eine Typwandlung durch.
Liegt die Integer Zahl jedoch außerhalb des
Integer-Bereich, so wird die Typwandlung
falsch durchgeführt.
Zur Sicherheit sollte man daher Float-Variablen
auch nur Zahlen vom Typ Float zuweisen.
Beispielprogramm
siehe nächste Seite
|