From a53f355f9ffa02e4b87f1769bb48b2cb2b40ea2f Mon Sep 17 00:00:00 2001 From: caminsha Date: Fri, 31 Jan 2020 01:47:49 +0100 Subject: added translation for type casting --- de-de/c-de.html.markdown | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'de-de/c-de.html.markdown') 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 `` 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); + } -- cgit v1.2.3