7.3 指针的关系运算
指针的关系运算符是比较指针的值的大小,即:谁在前谁在后。其实质是比较两个指针的数值(无符号整数)的大小,即:地址的大小。
指针的关系运算
< // 小于:判断 左表达式 的值(地址)是否小于 右表达式 的值。
<= // 小于等于
> // 大于
>= // 大于等于
== // 相等
!= // 不相等
示例:
// filename: pointer_relational.c
#include <stdio.h>
int main(int argc, char *argv[]) {
int i = 0;
int *pi;
for (pi = &i; pi < &i + 5; pi++) {
printf("pi: %p\n", pi);
}
return 0;
}
运行结果:
weimingze@mzstudio:~$ gcc -o pointer_relational pointer_relational.c
weimingze@mzstudio:~$ ./pointer_relational
pi: 0x7fff8bbebdac
pi: 0x7fff8bbebdb0
pi: 0x7fff8bbebdb4
pi: 0x7fff8bbebdb8
pi: 0x7fff8bbebdbc
从运行结果可以看出循环内每次指针向后走 4 个字节,共循环 5 次,最后比较不成立而退出循环。