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  更新时间:

posted on 2022-12-13 18:55  滔Roy  阅读(483)  评论(0编辑  收藏  举报

导航