Help Center
Help CenterFreeBASIC

Pointer | Ptrkeyword

A variable declaration type modifier

Standard Data Typeskeyworddocumented

Syntax

... As DataType {Pointer | Ptr}
Also documented as Ptr — one description covers them all.

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.

Remarks

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


Example


' 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

Dim p As ZString Pointer

Dim text As String

text = "Hello World!"

p = StrPtr(text) + 6

Print text

Print *p



'' Output:

'' Hello World!

'' World!

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

Reference

  • Documented in KeyPgPtr.html