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 次,最后比较不成立而退出循环。