Zeiger oder Variable
-
Hi,
was ist eigentlich der genaue unterschied zwischen Variable und Zeiger?
Ist es nicht besser zeiger zu nutzen, weil man die wieder löschen kann?
tschau,
das Hexerl
-
zeiger "zeigt" auf die speicheradesse einer variable
eine variable besitzt ihren eigenen speicherbereichvariablen kann man auch löschen nur ist dann der inhalt auch weg
-
Wie löscht du eine Variable?
Bsp ein int oder ein char[].
Der von der Variable reservierte Speicher bleibt bestehen, solange diese im Gültigkeitsbereich ist.
-
per delete var oder free(var) kann man den bereich frei geben, aber hast schon recht der speicher ansich bleibt ja belegt solane er nicht überschrieben wird.
-
Verstehe ich jetzt was nicht??
Seit wann kann ich
int x=5;
delete x;
machen?
-
Christian211 schrieb:
Seit wann kann ich
int x=5;
delete x;
machen?Du kannst
int x=5; delete &x;machen.
-
-
Macht es denn Sinn die Variable zu löschen? spaart das wirklich speicher?
-
also sinn macht es sicher wenn man variablen direkt nach der benutzung freigibt so verhindert man das der specherplatz beim unsauberen beenden des programms nicht weiter belegt bleibt, aber der platz ist eher gering aber die masse machts.
-
Du verwechselt da etwas Variabel & Zeiger das sind zwie unterschiedliche Dinge
-
HExer,
Zeiger :
Ein Zeiger beherbegt eine Adresse auf einen Adressbereich, in der NUR die Adresse der eigentlichen Variable gespeichert ist. Wird diese Variable gelöscht ( also der Adressbereich vielleicht anders verwendet ), kommt es zu den berühmten und vorallem berüchtigten Adresszugriff-Exceptions.Variable :
Dieser "pointer" zeigt auf eine Adresse, in dem z.B. der Wert des Integer ( wenn es eine Variable vom Typ in ist) gespeichert ist.Daraus folgt, dass du den "Speicherbereich" eines Zeigers nicht direkt freigeben kannst, nur gleich "NULL" setzen kannst. Dies bringt die zwar nicht viel im Bezug auf Speicher, jedoch kannst du somit Zeigerzugriffe, die du mit != NULL ( durchaus üblich) überprüfst, abfangen.
Die Freigabe einer Variable gibt tatsächlich, je nach Typ, einiges an Speicherplatz ab, denke dabei an große Objekte.
Hoffe, es ist dir ein bisschen klarer geworden