(POINTER | PTR)
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgPtr
- 最后更新: 2021-02-22
变量声明类型修饰符
语法
... 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 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
'' 输出:
'' 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
'' 输出:
'' 12345end GeSHi
方言差异
- 在 -lang qb 方言中不可用,除非使用别名
__Pointer或__Ptr引用。
与QB的差异
- FreeBASIC 新增
参见
Allocate
返回 目录