分类 | 运算符 | 操作 | 操作数 | 结果类型 | 范例 |
---|---|---|---|---|---|
算术运算符 | + | 加 | 整数,实数 | X + Y | |
- | 减 | Result - 1 | |||
* | 乘 | P * InterestRate | |||
/ | 实数除 | 实数 | X / 2 | ||
div | 整数除 | 整数 | Total div UnitSize | ||
mod | 取模 | Y mod 6 | |||
+(一元) | 符号等同 | +7 | |||
-(一元) | 符号相反 | -X | |||
布尔运算符 | not | 否定 | 布尔型 | Boolean | not (C in MySet) |
and | 与 | Done and (Total > 0) | |||
or | 或 | A or B | |||
xor | 异或 | A xor B | |||
逻辑(按位)运算符 | 按位否定 | not X | |||
按位与 | X and Y | ||||
按位或 | X or Y | ||||
按位异或 | X xor Y | ||||
shl | 按位左移 | X shl 2 | |||
shr | 按位右移 | Y shr I | |||
字符串运算符 | 连接 | 字符串、压缩串、字符 | 字符串 | S + '.' | |
指针运算符 | 指针加 | 字符指针,整数 | 字符指针 | P + I | |
指针减 | P - Q | ||||
^ | 指针解除参照 | 指针 | 指针的基类型 | P^ | |
= | 相等 | P = Q | |||
<> | 不等 | P <> Q | |||
集合运算符 | 并集 | 集合 | Set1 + Set2 | ||
差集 | S – T | ||||
交集 | S * T | ||||
<= | 子集 | Q <= MySet | |||
>= | 超集 | S1 >= S2 | |||
S2 = MySet | |||||
MySet <> S1 | |||||
in | 成员 | 序数,集合 | A in Set1 | ||
关系运算符 | 简单类型、类、类引用、接口、串、压缩串 | I = Max | |||
X <> Y | |||||
< | 小于 | 简单类型、串、压缩串、PChar | X < Y | ||
> | 大于 | Len > 0 | |||
小于或等于 | Cnt <= 1 | ||||
大于或等于 | I >= 1 | ||||
类运算符 | as | 转换 | 类和类的实例 | ||
is | 判断 | 关系运算符 = 和 <> 也作用于类 | |||
地址(@)运算符 | @X | 如果X是一个变量,那么@X返回X的地址。 当编译指示 {$T-} 有效时,@X是Pointer类型; 而在编译指示 {$T+} 状态下时,@X是 ^T 类型,这里的T是X的类型。 | |||
@F | 如果 F 是一个例程(函数或过程),那么@F返回 F 的入口点,@F的类型总是Pointer。 | ||||
@类中方法 | 当 @ 适用于定义在类中的方法时,方法标识符必需被类的名称限定。例如: @TMyClass.DoSomething |
^:
^type 表示指向这种类型的指针
point^ 返回指针指向的变量的值
两个用法
概述: ^: 指针 @: 取址 #: 十进制符 $: 十六进制符 @:取址运算符; var int:integer; p:^integer; begin new(P); int:=24; p:=@int; dispose(P); end; ^:指针的引用解析操作符; var pint:^integer; begin new(pint); showmessage(inttohex(integer(@pint),8)); pint^:=$ff; showmessage(inttohex(pint^,4)); end; #:ASCII码值表示符; const tab_key=#9;//TAB键的ASCII值 符号 ^ 有两种用途,当它出现在类型标识符之前,如^typeName,表示一个类型,该类型表示指向typeName类型变量的指针;当它出现在指针变量之后,如pointer^,该符号对指针解除参照,也就是说,返回存储在内存地址(该地址保存在指针中)的值指针,指向的数据. var I: Integer; PI: ^Integer; begin I := 10 PI := @I;; PI^ := 20; I := PI^; end; 取指针的方法,比如y:=p^; 就是指为Y赋值指针P
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。