C / C ++: Aritmética de punteros

Estaba leyendo un poco en Pointer Arithmetic, y me encontré con 2 cosas que no pude entender y que tampoco sabía su uso.

address_expression - address_expression

y también

address_expression > address_expression

¿Puede alguien explicármelo, cómo funcionan y cuándo se utilizan?

Editar:

Lo que quise decir es qué producen si tomo dos direcciones y las resto

Y si tomo dos direcciones y las comparo, ¿cuál es el resultado o la comparación en función de

Edición: ahora entiendo el resultado de restar direcciones, pero comparando direcciones todavía no lo entiendo.

Entiendo que 1 <2, pero ¿cómo es una dirección mayor que otra y en qué se comparan?

Respuestas a la pregunta(6)

Su respuesta a la pregunta