AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Trivial: Was ist ein Pointer?

Ein Thema von Chris1986 · begonnen am 3. Nov 2003 · letzter Beitrag vom 3. Nov 2003
Antwort Antwort
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#1

Trivial: Was ist ein Pointer?

  Alt 3. Nov 2003, 17:41
Hallo,
die Frage ist vielleicht trivial, aber was ist ein Pointer?

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Trivial: Was ist ein Pointer?

  Alt 3. Nov 2003, 17:55
ein Pointer ist ein Zeiger *g*. Damit ist es möglich auf einen Speicherbereich zu "zeigen". Bestes Beispiel eines Pointertyps ist PChar. Wenn du einer Funktion einen "PChar" übergibst, so übergibst du eigentlich nur die Adresse wo die Zeischen im Speicher liegen. Und die funktion ändert/liest/etc. an dieser Stelle im Speicher herum. Durch zeiger kann man die Geschwindigkeit eines Programmes ziemlich steigern da man keine Kopie von einer Variablen übergibt (da müsste ja erst kopiert werden etc.) sonder man übergibt die Adresse im speicher und die Procedure oder was auch immer liest dann gleich das orginal und nicht irgendwo eine kopie... am besten du suchst dir irgend eine Beispiel da sieht man am ehesten durch. Es gibt dann auch noch Zeiger auf Strukturen etc... ziemlich komplexes Thema...
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#3

Re: Trivial: Was ist ein Pointer?

  Alt 3. Nov 2003, 17:55


Zitat:
So what is a pointer? Simply put, a pointer is a variable that holds the address of anything in memory.
To concrete this definition, just keep in mind the following: everything used in an application is stored somewhere in the computer's memory, a pointer to that item simply points the program to that memory location. Because a pointer holds the address of another variable, it is said to point to that variable.
Pointers in Delphi
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Trivial: Was ist ein Pointer?

  Alt 3. Nov 2003, 17:57
nochn kleines Beispiel was ich schon in nem anderen Thread mal gepostet hab
Delphi-Quellcode:
var gesamt: Array[0..1] of char;
    byte1, byte2: ^char;
begin
  byte1 := @gesamt[0]; //byte1 auf dein speicher von gesamt[0] zeigen lassen
  byte2 := @gesamt[1]; //byte2 auf dein speicher von gesamt[1] zeigen lassen
  byte1^ := 'a'; //an der stelle im speicher "a" schreiben
  byte2^ := 'b'; //an der stelle im speicher "b" schreiben
  self.caption := gesamt; //und siehe da, in gesamt steht später "ab"
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Trivial: Was ist ein Pointer?

  Alt 3. Nov 2003, 18:04
Achso, ich hatte mir da wohl etwas noch komplexeres drunter vorgestellt *g*
MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Trivial: Was ist ein Pointer?

  Alt 3. Nov 2003, 18:41
Hi,
im Grunde ist es auch etwas komplizierter. Zwar ist der Sinn eines Pointers schnell erklärt, allerdings kannst du nicht einfach einen Pointer verwenden. Du musst Speicher reservieren und wieder freigeben etc.

Chris
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz