指针
指针
指针类型声明
使用 “^” 符号来表示指针:
1 | type |
指针赋值
采用 “@” 取地址运算符,或者 Addr()
内置函数取得变量的地址,可以赋值给指针变量:
1 | var |
无类型指针
无类型指针为 Pointer
,它不指向任何类型,pointer
需要使用时必须类型转换为其它类型的指针。
指针变量的使用
使用指针变量来访问指向的内存,需要用到 “^” 解指针操作符:
1 | var |
New 和 Dispose
New()
内置函数,用于在堆中分配指定类型的内存,然后把地址赋值给指针。Dispose()
内置函数,用于销毁回收New()
分配的内存,指针会被设置为 nil
1 | var |
GetMem 和 FreeMem
GetMem()
函数,用于在堆中分配指定大小的内存,然后把地址赋值给指针。FreeMem()
函数,用于销毁回收GetMem()
分配的内存,指针会被设置为 nil
1 | var |
AllocMem
AllocMem
分配内存的形式跟 GetMem() 差不多,只需要传递字节大小,会通过返回值的方式返回指针:
AllocMem
会将分配到的内存全部初始化为 0。
AllocMem
分配到的内存同样使用 FreeMem()
来释放
1 | var |
ReallocMem
对 GetMem
或 AllocMem
分配得到空间的已有的指针,重新分配指定大小空间
1 | ReallocMem(ptr, ReSize); |
StrNew 和 StrDispose
分配字符串空间,并复制字符串到缓冲区,返回给 PChar
1 | var ptr1 : PChar; |