Delphi 指针[3]指针运算符(Pointer operators)
Delphi 指针[3]指针运算符(Pointer operators)
关系运算符<、>、<=和>=可以接受PChar和PWideChar类型的操作数。以下运算符也将指针作为操作数。
字符指针运算符
运算符 | 操作描述 | 操作类型 | 返回类型 | 示例 |
+ | 指针加法 | character pointer, integer | character pointer | P + I |
- | 指针减法 | character pointer, integer | character pointer, integer | P - Q |
^ | 指针取消引用 | pointer | base type of pointer | P^ |
= | 相等 | pointer | Boolean | P = Q |
<> | 不相等 | pointer | Boolean | P <> Q |
^运算符指取消引用指针。它的操作数可以是除泛型pointer之外的任何类型的指针,泛型pointer必须在取消引用之前进行类型转换。
仅在P和Q指向同一地址的情况下,P=Q为真;否则,P<>Q为True。
可以使用+和-运算符来递增和递减字符指针的偏移量。还可以使用-计算两个字符指针的偏移量之间的差值。以下规则适用。
- 如果I是整数,P是字符指针,则P+I将I添加到P给出的地址;也就是说,它返回一个指向P后面的地址I字符的指针(表达式I+P相当于P+I)
- P-I 从P给出的地址中减去I;也就是说,它返回指向P之前的地址I字符的指针。这对于PChar指针是正确的;对于PWideChar指针,P+I将SizeOf(WideChar)添加到P。
- 如果P和Q都是字符指针,则P-Q计算P(较高地址)和Q(较低地址)给出的地址之间的差值;也就是说,它返回一个整数,表示P和Q之间的字符数。P+Q未定义。
创建时间:2022.12.13 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!