Datum *heute Bedeutung

Hallo,

ist es korrekt, dass durch diesen Aufruf „Datum *heute“ ein Zeiger auf die Klasse Datum zeigt?

Viele Grüße

Hallo,

ist es korrekt, dass durch diesen Aufruf
„Datum *heute“ ein Zeiger auf die Klasse Datum zeigt?

IMHO nicht korrekt.

Aufruf „Datum *heute“

ist lediglich eine Deklaration eines
Zeigers vom Typ „Datum *“ und damit die
Alloziierung eines Speicherbereiches
der Größe „Datum *“, in welchem Speicher-
adressen untergebracht werden können.

Worauf das Dingens nun „zeigt“ ist ungewiss.
Das kann ein Speicherblock an der Adresse
0x0000000 sein oder auch ein Bereich an
einer Adresse, der valide Daten einer
Struktur „Datum“ enthält.

Hallo,

ist es korrekt, dass durch diesen Aufruf „Datum *heute“ ein
Zeiger auf die Klasse Datum zeigt?

Datum \*heute;

definiert eine Variable heute vom Typ „Zeiger auf ein Objekt des Typs Datum“.

\*heute

ist anschließend ein Objekt vom Typ Datum.

Wichtig: Mit ‚Datum *heute;‘ zeigt die Variable ‚heute‘ irgendwohin in den Speicherbereich, wenn Du dann dareinschreibst (z.B. heute->tag = 23), kannst Du im besten Fall einen Speicherzugriffsfehler bekommen, im schlimmsten Fall Werte in einer anderen Variable überschreiben (siehe auch https://secure.wikimedia.org/wikipedia/de/wiki/Zeige…)
Daher immer

Datum \*heute = 0;

vorziehen

Gruß
Diether