Gegeben:
Code:
struct typ
{
int t1;
int t2;
} *structvar;
Gleichwertig mit:
Code:
struct typ
{
int t1;
int t2;
}; // Typdefinition
typ *structvar; // Reservierung Speicher für Zeiger
Weiter mit Variante 1:
Es wird eine Operation auf structvar ausgeführt. Da der Kompiler merkt, dass die Variable benutzt werden soll, wird sie im Stack angelegt.
Code:
structvar->t1 = 10; // Operation auf structvar
Variante 2:
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;
Lesezeichen