Skip to content

(POINTER | PTR)


变量声明类型修饰符

语法

... as DataType {Pointer | Ptr}

描述

声明一个指针变量。

变量类型可以是预定义类型或用户定义类型。

使用 Operator @ (Address of) 运算符或 Varptr 来获取变量的地址。使用 Operator * (Value of) 运算符来解引用指针,即访问指针所指向内存位置中存储的实际值。

示例

start GeSHi

vb
' 创建指针。
Dim p As Integer Ptr

' 创建一个整数值,我们将使用指针 "p" 指向它
Dim num As Integer = 98845

' 将 p 指向变量 "num" 所占用的内存地址。
p = @num

' 打印指针 "p" 所指向内存中存储的值
Print "Pointer 'p' ="; *p
Print

' 打印指针 "p" 所指向的实际内存地址。
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

'' 输出:
'' 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  '' 或 Print pmt->a

'' 输出:
'' 12345

end GeSHi

方言差异

  • -lang qb 方言中不可用,除非使用别名 __Pointer__Ptr 引用。

与QB的差异

  • FreeBASIC 新增

参见

  • Allocate

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系