Wie funktioniert das mit dem Zeiger ?

Für allgemeine Fragen zur Programmierung mit PureBasic.
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Wie funktioniert das mit dem Zeiger ?

Beitrag von funkheld »

Hallo, guten Tag.
Wie funktioniert das bitte mit dem Zeiger *adr ?

Ich möchte eine Adresse *adr zuweisen , dann die Adresse *adr um 4 erhöhen.
Möchte bitte mit PeekB(*adr) ein byte holen.
Demivec
Beiträge: 49
Registriert: 22.02.2008 20:49
Wohnort: Utah, USA

Re: Wie funktioniert das mit dem Zeiger ?

Beitrag von Demivec »

funkheld hat geschrieben: 26.01.2023 15:18 Hallo, guten Tag.
Wie funktioniert das bitte mit dem Zeiger *adr ?

Ich möchte eine Adresse *adr zuweisen , dann die Adresse *adr um 4 erhöhen.
Möchte bitte mit PeekB(*adr) ein byte holen.

Code: Alles auswählen

  Define var.q = $0807060504030201 ;8 bytes ($01 $02 $03 $04 $05 $06 $07 $08)
  Define *adr = @var
  
  Debug Hex(var)
  Debug *adr
  Debug Hex(PeekB(*adr))
  *adr + 4
  Debug "----"
  Debug *adr
  Debug Hex(PeekB(*adr))
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Wie funktioniert das mit dem Zeiger ?

Beitrag von STARGÅTE »

Du kannst mit Zeigern genauso arbeiten wie mit jeder andere Variable.
Die Zuweisung machst du mit: *adr = ...
Die Erhöhung machst du mit: *adr + 4

Code: Alles auswählen

Define Quad.q = $1234567890
Define *adr

*adr = @Quad
*adr + 4
Debug Hex(PeekB(*adr))
Edit: Witzig, wie ähnlich mein und Demivecs Beispiel ist, ohne es vorher gesehen zu haben ^^
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Re: Wie funktioniert das mit dem Zeiger ?

Beitrag von funkheld »

Danke für die Info.
Antworten