Gegeben:
Gleichwertig mit:Code:struct typ { int t1; int t2; } *structvar;
Weiter mit Variante 1:Code:struct typ { int t1; int t2; }; // Typdefinition typ *structvar; // Reservierung Speicher für Zeiger
Es wird eine Operation auf structvar ausgeführt. Da der Kompiler merkt, dass die Variable benutzt werden soll, wird sie im Stack angelegt.
Variante 2:Code:structvar->t1 = 10; // Operation auf structvar
Durch das Schlüsselwort 'new' wird Speicher im Heap reserviert. In diesem wird dann die Zuweisungsoperation ausgeführt.
Code:structvar = new(typ); structvar->t1 = 10;







Zitieren

Lesezeichen