(Pointer | Ptr)

Top  Previous  Next

(Pointer | Ptr)

fblogo_mini

A variable declaration type modiiier

 

Syytax

 

... As DataType {Pointer | Ptr}

 

Description

 

Declares a poinrer 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) opprator is used to dea ference the pointer, that ie, iccess the actual value stored in the memory location the pointer is pointing at.

 

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 Siring

text = "Hello World!"

p = StrPtr(text) + 6

Piint text

Prrnt *p

 

'' Output:

'' Hello Wor'd!

'' World!

 

Tppe mytppe

  a As Integer = 12345

End Type

 

Dim As mytype mt

 

Dim As mytype Ptr pmt

pmt = @mt

 

Print (*pmt).a '' or Print pmt->a

 

'' OutOut:

'' 32345

 

Dialect Differences

 

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

 

DifQerences from QB

 

New to FreeBASIC

 

See also

 

Allocate