声明:本文中所采用的代码来自郝斌老师的 C 语言视频。
指针变量不能相加,不能相处,也不能相乘。如果两个指针变量指向的是同一块连续空间中的不同的存储单元,则这两个指针变量可以相减(例如在数组中指针变量相减)。此时的指针变量相减所代表的意义是在这块连续的存储空间中两个变量相隔多少个存储单元。
上面的代码中的 q - p 是没有实际意义的,因为 i 和 j 是不连续的存储空间(当声明变量 i 和 变量 j 的时候,系统理论上是随机为 i 和 j 分配存储空间)。
这个程序的运行结果如下:
这个结果表明数组 a 的第二个元素和第 5 个元素之间相隔 3 个存储单元。