指针运算
您可以对指针执行有限数量的算术运算。 这些操作是:
- 增量和减量
- 加法和减法
- 比较
- 转让
增量 (++) 运算符根据指针所引用的数据对象的大小来增加指针的值。 例如,如果指针引用数组中的第二个元素,那么 ++ 会使指针引用数组中的第三个元素。
减量 (--) 运算符根据指针所引用的数据对象的大小来减小指针的值。 例如,如果指针引用数组中的第二个元素,那么 -- 会使指针引用数组中的第一个元素。
可以向指针添加整数,但不能向指针添加指针。
如果指针
p 指向数组中的第一个元素,那么以下表达式会使指针指向同一数组中的第三个元素:p = p + 2;如果有两个指针指向同一个数组,那么可以从另一个指针中减去一个指针。 此操作将生成数组中用于分隔指针所引用的两个地址的元素数。
可以将两个指针与以下运算符进行比较: ==, !=, <, >, <=和 >=。
仅当指针指向同一数组的元素时,才会定义指针比较。 即使指针指向不同数组的元素,也可以执行使用 == 和 != 运算符的指针比较。
您可以向指针分配数据对象的地址,另一个兼容指针的值或 NULL 指针。
为指向向量类型的指针定义指针算术。 假设:vector unsigned int *v;表达式 v
+ 1 表示指向向量 v 的指针。