diff options
author | caminsha <c.96marco@hotmail.com> | 2020-01-31 01:47:49 +0100 |
---|---|---|
committer | caminsha <c.96marco@hotmail.com> | 2020-01-31 01:47:49 +0100 |
commit | a53f355f9ffa02e4b87f1769bb48b2cb2b40ea2f (patch) | |
tree | f26c251ca75fb5e20f15627e2c43e30ad908eddd | |
parent | dcf628e2866634bee9e9e04ecbb336885adaf7e4 (diff) |
added translation for type casting
-rw-r--r-- | de-de/c-de.html.markdown | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/de-de/c-de.html.markdown b/de-de/c-de.html.markdown index b027cdbe..1b97faaf 100644 --- a/de-de/c-de.html.markdown +++ b/de-de/c-de.html.markdown @@ -372,4 +372,31 @@ int main (int argc, char** argv){ error: printf("Ein Fehler ist aufgetreten bei i = %d & j ? %d\n", i, j); + //////////////////////////////////////////////// + // Typenumwandlung + //////////////////////////////////////////////// + + // Jeder Wert in C hat einen bestimmten Typen, aber es ist möglich, ein + // Wert in einen anderen Typ umzuwandeln (mit einigen Einschränkungen). + + int x_hex = 0x01; // Es ist möglich, Variablen Hexadezimalwerten zuzuweisen. + + // Bei der Umwandlung zwischen Typen wird versucht, den numerischen Wert + // beizubehalten. + printf("%d\n", x_hex); // => 1 + printf("%d\n", (short) x_hex); // => 1 + printf("%d\n", (char) x_hex); // => 1 + + // Typen werden überlaufen (overflow) ohne jegliche Warnung + printf("%d\n", (unsigned char) 257); // => 1 (Max char = 255 wenn char 8 Bit lang ist) + + // Um den maximalen Wert eines `char`, `signed char` oder `unsigned char` + // herauszufinden, können die Makros `CHAR_MAX`, `SCHAR_MAX` und `UCHAR_MAX` + // aus der Header-Datei `<limits.h>` verwendet werden. + + // Integer-Typen können zu Gleitkommazahlen und umgekehrt umgewandelt werden. + printf("%f\n", (double) 100); // %f formattiert immer zu einem `double`... + printf("%f\n", (flaot) 100); // ... auch mit einem `float` + printf("%d\n", (char)100.0); + } |