Skip to content

(POINTER | PTR)


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 p

end 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:
'' 12345

end GeSHi

Dialect Differences

  • Not available in the -lang qb dialect unless referenced with the alias __Pointer or __Ptr.

Differences from QB

  • New to FreeBASIC

See also

  • Allocate

Back to DocToc

Translated from FreeBASIC official docs. Contact us for removal if infringed.
FreeBASIC is an open-source project, not affiliated with Microsoft