Code: Alles auswählen
; int a;
Define a.l
; a = 5;
a = 5
; int *zeiger;
Define *zeiger.Long
;zeiger = &a;
*zeiger = @a
Debug *zeiger\l
Code: Alles auswählen
; int a;
Define a.l
; a = 5;
a = 5
; int *zeiger;
Define *zeiger.Long
;zeiger = &a;
*zeiger = @a
Debug *zeiger\l
Code: Alles auswählen
define *a.l
*a = 5
Das ist so nicht erlaubt, bzw. nicht mehr!Beefi hat geschrieben:Ja genau, was ich jedoch meinte:Code: Alles auswählen
define *a.l *a = 5
Code: Alles auswählen
Define a.l
Define *a.Long = @a
*a\l = 5
PB-Hilfe => Prozeduren-Unterstützung => Procedure : EndProcedureBeefi hat geschrieben:@Sicro:
[...]das mit der Angabe von Map in den Parametern habe ich noch nirgends in der Hilfe gesehen.[...]
Arrays können mit Hilfe des Schlüsselworts Array als Parameter übergeben werden, verknüpfte Listen mittels des Schlüsselworts List und Maps mittels Schlüsselworts Map.
das asterisk ist in pb kein dereference operator, und addresse 5 ist natürlich blödsinn, deshalb der umweg über structure wie im beispiel von NicTheQuick (oder mittels Peek/Poke).Beefi hat geschrieben: Also wenn ich das mal in C als Beispiel nehme:...hier zeigt "*zeiger" jetzt auf die Variable "a" (also auf 5), bzw. "zeiger" beinhaltet die Adresse zu "a".Code: Alles auswählen
int a; a = 5; int *zeiger; zeiger = &a;
Es würde auch gehen (wie in PureBasic):Aber meines Wissens ist der Speicher dann ja nicht reserviert und es führt unter Umständen zu nem Programm-Crash.Code: Alles auswählen
int *zeiger; *zeiger = 5;
Ist das in PureBasic nicht so?