На самом деле может быть полезно добавление двух адресов. Возможно, вам понадобится знать средний адрес между двумя адресами, например (a + b) / 2 (для парня, который хочет думать о указателях как номерах дома, это даст ему номер дома посередине между двумя домами), я думаю, что добавление двух адресов должно быть разрешено, потому что вы можете это сделать в любом случае с помощью прикладов:
int *ptr,*ptr1;
int sum = (int)ptr + (int)ptr1;
EDIT: Я не говорю, что использование добавление адресов является обязательным в некоторых случаях, но может быть полезно, когда мы знаем, как его использовать.