www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.vorhilfe.de