Kapitel 3. Speicherverwaltung

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Jedes Programm speichert einige Werte im Speicher, um sie später im Programm zu verwenden. Diese Funktion ist für Programme so üblich, dass moderne Programmiersprachen sie so einfach wie möglich machen. Die Programmiersprache C++ und andere objektorientierte Programmiersprachen verfügen über Konstruktoren und Destruktoren, die es sehr einfach machen, einen bestimmten Ort und Zeitpunkt für die Zuweisung und das Aufräumen von Speicher festzulegen. Die Programmiersprache Java verfügt sogar über einen Garbage Collector, der dafür sorgt, dass Speicher, der vom Programm nicht mehr gebraucht wird, anderen zur Verfügung gestellt wird.

Im Vergleich dazu ist die Programmierung in C insofern besonders, als dass der Programmierer den Speicher manuell verwalten muss. Der Programmierer muss entscheiden, ob er Variablen auf dem Stack, auf dem Heap oder im statischen Speicher ablegen will. Außerdem muss der Programmierer dafür sorgen, dass Heap-Variablen anschließend manuell aufgeräumt werden, und es gibt keinen Mechanismus wie einen Destruktor oder einen nativen Garbage Collector, der einige dieser Aufgaben erheblich erleichtern würde.

Anleitungen zur Durchführung solcher Aufgaben sind im Internet weit verstreut, was die Beantwortung von Fragen wie der folgenden ziemlich schwierig macht: "Soll diese Variable auf den Stack oder auf ...

Get Fließend C now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.