(POINTER | PTR)
- Source: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgPtr
- Last revised: 2021-02-22
A variable declaration type modifier
Syntax
` ... as DataType
`
Description
Declares a pointer variable.
The variable type can be a predefined type or a user-defined type.
Operator @ (Address of) operator or Varptr are used to take the address of a variable. The Operator * (Value of) operator is used to dereference the pointer, that is, access the actual value stored in the memory location the pointer is pointing at.
Examples
start GeSHi
vb
' Create the pointer.
Dim p As Integer Ptr
' Create an integer value that we will point to using pointer "p"
Dim num As Integer = 98845
' Point p towards the memory address that variable "num" occupies.
p = @num
' Print the value stored in memory pointed to by pointer "p"
Print "Pointer 'p' ="; *p
Print
' Print the actual location in memory that pointer "p" points at.
Print "Pointer 'p' points to memory location:"
Print pend GeSHi
start GeSHi
vb
Dim p As ZString Pointer
Dim text As String
text = "Hello World!"
p = StrPtr(text) + 6
Print text
Print *p
'' Output:
'' Hello World!
'' World!end GeSHi
start GeSHi
vb
Type mytype
a As Integer = 12345
End Type
Dim As mytype mt
Dim As mytype Ptr pmt
pmt = @mt
Print (*pmt).a '' or Print pmt->a
'' Output:
'' 12345end GeSHi
Dialect Differences
- Not available in the -lang qb dialect unless referenced with the alias
__Pointeror__Ptr.
Differences from QB
- New to FreeBASIC
See also
Allocate
Back to DocToc