Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - Stern

Referenz-Navigation

 

Syntax A: Wert = Ausdruck1 * Ausdruck2
Syntax B: Ausdruck1 *= Ausdruck2
Syntax C: *{Pointervariable | Pointerfunktion} [ = Ausdruck ]
Typ: Operator
Kategorie: Operatoren

Das Stern-Zeichen kann in FreeBASIC zur Multiplikation (Syntax A und B) und zur Pointer-Dereferenzierung (Syntax C) eingesetzt werden. Bei Syntax B handelt es sich um eine kombinierte Multiplikation; dies ist die Kurzform für

Ausdruck1 = Ausdruck1 * Ausdruck2



Multiplikation
Wert = Ausdruck1 * Ausdruck2
Ausdruck1 *= Ausdruck2
In dieser Form eingesetzt bewirkt der Stern die Multiplikation zweier Argumente; der Rückgabewert ist das Produkt der beiden Argumente. Die Argumente dürfen Zahlen, numerische Konstanten, numerische Variablen, und numerische Rückgabewerte von Funktionen sein. Die Multiplikation ist die Gegenfunktion der Division.

Die Multiplikation kann mithilfe von BefehlsreferenzeintragOPERATOR überladen werden.

Beispiel 1:

DIM n AS DOUBLE
n = 4 * 5
PRINT n
SLEEP

Ausgabe:

20

Beispiel 2:

DIM n AS DOUBLE
n = 6
n *= n
PRINT n
SLEEP

Ausgabe:

36



Pointer-Dereferenzierung
*{Pointervariable | Pointerfunction} [ = Ausdruck ]
Durch die Pointer-Dereferenzierung wird auf einen Wert im Speicher zugegriffen, auf den ein BefehlsreferenzeintragPointer zeigt. Der Zugriff kann sowohl zum Lesen als auch zum Schreiben erfolgen. Der 'Indirection-Level' kann unendlich groß sein. (Pointer auf einen Pointer auf ...) Um sinnvoll eingesetzt werden zu können, müssen die Pointer, mit denen * verwendet wird, auf eine sinnvolle Adresse zeigen. Zahlenwerte sind dafür nicht vorhersagbar, die Adressen müssen auf anderem Wege ermittelt werden, siehe dazu BefehlsreferenzeintragPointer.

Beispiel:

' Zugriff auf einen Pointer mittels *

DIM a AS INTEGER
DIM pa AS INTEGER PTR

' @ wird benutzt, um pa auf a zeigen zu lassen.
' 'a' ist in diesem Fall eine normale Integer-Variable:
pa = @a

a = 9     ' 'a' erhält den Wert 9.

' Den Wert mittels seiner Adresse anzeigen:
PRINT "Der Wert von 'a' ist"; *pa

' An die Adresse des Pointers einen neuen Wert schreiben:
*pa = 1
' Den neuen Wert von 'a' anzeigen:
PRINT "Der neue Wert von 'a' ist"; a

Ausgabe:

Der Wert von 'a' ist 9
Der neue Wert von 'a' ist 1

Unterschiede zu QB:

Siehe auch:
BefehlsreferenzeintragAt (@), BefehlsreferenzeintragPointer, Befehlsreferenzeintragmathematische Funktionen


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 06.08.2007 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 05.01.2013 von Redakteurnemored gespeichert.
  Versionen Versionen