Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

85byte

Frischling

  • »85byte« ist der Autor dieses Themas

Beiträge: 10

Wohnort: Göttingen

Beruf: Student - Wirtschaftsingenieurwesen

  • Private Nachricht senden

1

01.11.2007, 15:55

Was bedeuten zwei ** bei einem Zeiger?

Hallo Leute,
habe mal wieder ein bisschen Quelltext durchgeschaut und bin auf folgendes gestoßen, was mir unbekannt ist. Lange Rede kurzer Sinn, was bedeutet:

Quellcode

1
 void **pp_Zeiger 

Wie Zeiger funktionieren, weiß ich, auch die deklarationen bzw. definitionen, etc... aber warum zwei Sternchen?!

LG Flo
visit: http://85byte.florianappl.com

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

2

01.11.2007, 16:01

Such hier im Forum mal nach "Doppelpointer", ich bin der Meinung irgendwer hat das mal sehr gut erklärt.

Einfach gesagt handelt es sich dabei um genau das, was man vermuten würde: Um einen Zeiger, der auf einen anderen Zeiger zeigt. Insbesonders bei mehrdimensionalen Arrays, wird dir das wohl noch begegnen.

85byte

Frischling

  • »85byte« ist der Autor dieses Themas

Beiträge: 10

Wohnort: Göttingen

Beruf: Student - Wirtschaftsingenieurwesen

  • Private Nachricht senden

3

01.11.2007, 16:12

gut, da hätte ich mal auf die Idee kommen können, ich habe die Suchfunktion benutzt, aber bin nicht auf "Doppenpointer" gekommen... Danke
visit: http://85byte.florianappl.com

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

01.11.2007, 21:50

Und void ***ppp_Zeiger ist ein tripple Pointer! 8)

Zum Thema:
Doppelzeiger wurden auch gern mal bei C verwendet um die Adresse einen Zeigers, welcher einer Funktion übergeben wurde, ändern zu können. Zum Beispiel um einen Puffer im Speicher zu reservieren:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
void foo( char** buffer )
{
  *buffer = ( char* )malloc( xyz );
}

int main()
{
  char* buffer = NULL;
  foo( &buffer );

  // mach irgendwas

  // Speicher freigeben...

}
@D13_Dreinig

Werbeanzeige