Datentypen C – einfach erklärt für dein Informatik-Studium (2024)

Video anzeigen

zur Videoseite: Datentypen - Speicherbedarf und Typumwandlung

Du möchtest die Datentypen in C genauer kennenlernen? Im folgenden Beitrag zeigen wir die vier wichtigsten Datentypen, die es in C gibt.

Inhaltsübersicht

Speicherverhalten, Wertebereich und Datentypen C

im Videozur Stelle im Video springen

(00:13)

Um die einzelnen Datentypen besser verstehen zu können, beschäftigen wir uns zunächst mit dem Speicherverhalten der Typen. Jede Variable, die du deklarierst, bekommt vom Compiler einen Speicherbereich zugeordnet. Das tut er, indem er die Adresse der ersten Speicherzelle des Bereiches vorgibt. Die Größe des zugeteilten Speicherbereichs ist abhängig von der Art der Variablen. Genauso verhält es sich auch mit dem Wertebereich. Darunter versteht man die Werte, die in diesem Bereich gespeichert werden dürfen.

Datentypen C – einfach erklärt für dein Informatik-Studium (1)

direkt ins Video springen

Außerdem legt der Typ der Variable auch noch fest, wie die Binärcodierung erfolgt. Das heißt für uns, dass wir – egal welchen Typ wir wählen – nur einen endlichen Wertebereich zur Verfügung haben. Die genauen Werte für diese Abhängigkeiten sind allerdings systemabhängig.

Solltest du auf die Idee kommen, diese Einschränkungen zu ignorieren, kannst du dich außerdem auf Rechen- und/oder Programmfehler freuen.

C int und float C

im Videozur Stelle im Video springen

(01:34)

Gehen wir deshalb doch mal die verschiedenen Typen durch. Der erste ist der int-Typ. Diese Datentypen sind 4 Byte groß und können eine von Datentypen C – einfach erklärt für dein Informatik-Studium (2) Zahlen darstellen. Die Bibliothek heißt limits.h und gibt an, welche Zahlen zur Auswahl stehen.

Datentypen C – einfach erklärt für dein Informatik-Studium (3)

direkt ins Video springen

Der zweite Typ heißt float. Er hat dieselbe Größe wie int und es gibt dieselbe Menge an Optionen für die Darstellung von Zahlen. Allerdings sind die Optionen selbst andere. Einige sind sogar nur exklusiv für den Fehlercode verfügbar! Daher wird für diesen Typen die Bibliothek float.h verwendet. Das besondere bei diesem Typ ist allerdings die Möglichkeit, nicht verfügbare Zahlen auf verfügbare runden zu lassen.

double C und char C

im Videozur Stelle im Video springen

(02:21)

Als nächstes haben wir noch den Typ Double im Angebot. Er ist 8 Byte groß und erlaubt die Darstellung ganzer Datentypen C – einfach erklärt für dein Informatik-Studium (4) Zahlen. Damit bietet er eine genauere Rundungsoption als float. Dennoch verwendet er die gleiche Bibliothek.

Datentypen C – einfach erklärt für dein Informatik-Studium (5)

direkt ins Video springen

Kommen wir zum letzten Typ: Dieser ist der char Typ. Er ist nur 1 Byte groß und ist damit sehr kompakt. Er kann zwar nur Datentypen C – einfach erklärt für dein Informatik-Studium (6) verschiedene Zahlen darstellen, dafür werden diese aber als Zeichen angezeigt. Dabei sind die Optionen 0 bis 127 international und die Optionen 128 bis 255 lokalisiert, um in jedem Land die beste Auswahl zu gewährleisten. Die Bibliothek heißt limits.h.

Umwandlung der Datentypen C

im Videozur Stelle im Video springen

(03:05)

Du hast dich jetzt für einen Datentyp entschieden. Nach einer Weile bist du aber unzufrieden und möchtest gerne die dargestellte Zahl in eine Zahl ändern, die in der Anleitung nicht unterstützt wird. Hier kommt jetzt die automatische Typumwandlung ins Spiel, denn sie übernimmt das ganze Drumherum für dich. Willst du zum Beispiel eine 66.6 vom Typ int darstellen lassen, wird daraus automatisch 66 und damit eine unterstützte Option.

Dir ist vielleicht aufgefallen, dass hier nicht gerundet, sondern nur die ungültige Stelle abgeschnitten wurde. Das ist das Standardverhalten in C und passiert genauso, wenn du einen float oder double Wert mit int darstellen lassen willst. Solltest du runden wollen, musst du die Bibliotheksfunktion dafür nutzen oder selbst eine solche anlegen. Solltest du dich aber für einen double entscheiden und einen int-Wert darauf stehen haben, so werden die entsprechenden Nachkommastellen einfach aufgefüllt. Das mag zwar Dinge, wie z.B. wissenschaftliche Ergebnisse verfälschen, jedoch macht es vieles andere einfacher.

C cast

im Videozur Stelle im Video springen

(04:06)

Genauso funktioniert das Ganze mit allen hier angesprochenen Typen. Du kannst eine solche Umwandlung aber auch bewusst herbeiführen, indem du eine sogenannte Cast-Anweisung verwendest. Das macht man meist bei Typeinschränkungen, also wenn Genauigkeit verloren geht. Eine Cast-Anweisung sieht zum Beispiel so aus:

Datentypen C – einfach erklärt für dein Informatik-Studium (7)

Datentypen C – einfach erklärt für dein Informatik-Studium (8)

direkt ins Video springen

Und nun kommt die unvermeidliche Ausnahme zu diesen Regeln: In Ausdrücken werden Werte immer in den höchsten Typen, der in dieser Hierarchie vertreten ist, umgewandelt. Diese Regelung werfen char und float allerdings gleich wieder aus dem Fenster, denn für Bewertungen und Berechnungen werden float-Werte in double-Werte umgewandelt und char-Werte in int-Werte. Solltest du allerdings || oder && verwenden, so findet keine Typerweiterung statt, sondern eine Einschränkung, die alle Werte auf 0 und 1 reduziert.

Beliebte Inhalte aus dem BereichProgrammieren in C

  • ArraysDauer:03:51
  • StringsDauer:03:06
  • Variablen vertiefend IDauer:04:03

Weitere Inhalte:Programmieren in C

C vertiefend

Intro C vertiefendDauer:00:57
Ungültige Eingaben - FehlerbehandlungDauer:03:30
Datentypen - Speicherbedarf und TypumwandlungDauer:05:01
ArraysDauer:03:51
StringsDauer:03:06
Variablen vertiefend IDauer:04:03
Variablen vertiefend IIDauer:05:03
Datentypen C – einfach erklärt für dein Informatik-Studium (2024)

References

Top Articles
Latest Posts
Article information

Author: Delena Feil

Last Updated:

Views: 6616

Rating: 4.4 / 5 (45 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Delena Feil

Birthday: 1998-08-29

Address: 747 Lubowitz Run, Sidmouth, HI 90646-5543

Phone: +99513241752844

Job: Design Supervisor

Hobby: Digital arts, Lacemaking, Air sports, Running, Scouting, Shooting, Puzzles

Introduction: My name is Delena Feil, I am a clean, splendid, calm, fancy, jolly, bright, faithful person who loves writing and wants to share my knowledge and understanding with you.