Tom: Anfängerfrage zu Strings in C

Beitrag lesen

Hello,

Datentyp ist ja für das Allozieren und Freigeben von Speicher egal - malloc übergibst Du ja auch nur die Größe, der Cast davor dient nur der Klarheit.

Das ist mMn genau die Stelle, an der der Übergang von klassischer Programmierung, die dann zur Not auch noch in Assembler stattfinden könnte zur OOP stattdfindet. Die Hochstprache schaltet als Zwischenstufe eine Typdefinition (Record, Struct) dazwischen.

Assembler      Speicher wird blockweise allokiert, Du musst selber wissen,
               wie der Block eingeteilt ist. Der Offset ist hier das Zauberwort

Hochsprache    Speicher wird pro Typelement allokiert
               Du hast bereits eine fertige Dereferenzierung für jedes
               Element der Struktur als Name in der Hochsprache
               Der Offset wird durch den Namen symbolisiert, beim Einfügen von Elementen
               kümmert sich die IDE/Compiler um die Aktualisierung des Offsets
               Die Struktur liegt aber immer noch als geschlossener Speicherblock vor

?              dazwischen ist noch was...

OOP            Speicher wird für ein Objekt (Instanz einer Klasse) alloziiert
               Die Umsetzung der Allokation für die Elemente (Member-Variablen)
               kann durch das Objekt selber geschehen.
               Es ist also nicht mehr notwendig, dass alle Elemente des Objektes im Speicher
               in einer geschlossenen Form vorliegen.

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de