matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenAlgorithmen und DatenstrukturenZeiger
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Informatik • Physik • Technik • Biologie • Chemie
Forum "Algorithmen und Datenstrukturen" - Zeiger
Zeiger < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Zeiger: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:19 Do 21.08.2008
Autor: tynia

Also meine Frage ist ganz allgemein.
Kann mir vielleicht jemand in einfachen Worten erklären, was Zeiger eigentlich machen und wozu man sie braucht? Ich versteh das irgendwie nicht richtig.

Ich weiß, dass ein Zeiger eine Variable ist, die die Adresse speichert, an der ein Objekt im Speicher steht.
Dadurch, daß dem Zeiger die Adresse bekannt ist, zeigt er quasi auf dieses Objekt, woher
auch der Name kommt.

Aber wozu denn der Zeiger? Kann man nicht direkt die Variable aufrufen?

Hoffe mir kann da jemand weiterhelfen. Danke schonmal

        
Bezug
Zeiger: Antwort
Status: (Antwort) fertig Status 
Datum: 14:38 Do 21.08.2008
Autor: Arralune

Nehmen wir ein Beispiel: Du arbeitest mit einem Kommilitonen an an einem Übungsblatt. Zuerst schreibst du ein paar Zeilen, danach soll dein Kommilitone weiter schreiben, dann übernimmst du den Feinschliff. Du hast nun mehrere Möglichkeiten, die Übergabe deiner bisherigen Arbeit an deinen Kommilitonen zu gestalten: Entweder du kopierst deine Arbeit und übergibst sie deinem Kommilitonen, der wenn er fertig ist seinen Teil wieder kopiert und dir zurückgibt, wo du dann alles zusammenbastelst.
Oder aber du gibst deinen Kommilitonen einfach den Zettel wo das drauf steht, was du bisher erarbeitet hast und er gibt dir nachdem er fertig ist und seinen Teil auf diesem Zettel geschrieben hat genau diesen Zettel wieder zurück.
Anstatt deinem Kommilitonen den Zettel direkt zu geben, kannst du ihn natürlich auch in ein Schließfach sperren und den Schlüssel übergeben.
Die erste Variante entspricht der Übergabe einer normalen Variablen, deren Inhalt (zumindest in C und ähnlichen Sprachen) bei Übergabe immer kopiert wird. Die dritte Variante entspricht einem Zeiger. Der Vorteil hier liegt auf der Hand: Es muss nichts kopiert werden, also spart man sich die Kopiergebühren bzw den Platz im Arbeitsspeicher bei einem Programm. Aber auch sonst hast einige Unterschiede, zum Beispiel bearbeitest dein Freund den Zettel (das Objekt) an sich und es gibt hinterher keine Arbeit beim Zusammenfügen.

Einen Nachteil kann man aber auch schon erahnen: Niemand garantiert, dass im Schließfach nacher auch wirklich immer nur ein Zettel liegt und nicht irgendetwas anderes. Viele Programmabstürze sind darauf zurückzuführen, dass jemand eine Funktion auf eine Speicherstelle verweist und sich dort völlig andere Dinge befinden, als die Funktion erwartet hatte.

In einem Programm ist ein solches Verhalten immer nützlich, wenn das Kopieren eines Objektes keinen Sinn ergibt. Stell dir zum Beispiel eine graphische Benutzeroberfläche vor, auf der ein Knopf prangt. Du möchtest nun eine Funktion schreiben, die genau diesen Knopf eine neue Beschriftung verpasst. Wenn du nun den Knopf direkt übergibst, wird C diesen Knopf kopieren und deine Funktion bearbeitet einen völlig anderen Knopf, der nirgendwo zu sehen ist. Wenn du stattdessen einen Zeiger übergibst, so kann die Funktion auf genau den einen Knopf zugreifen und seine Beschreibung verändern.


Bezug
                
Bezug
Zeiger: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:06 Fr 22.08.2008
Autor: tynia

Danke ;-) Genau so eine Erklärung meinte ich

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]