Для низкоуровнего программирования на C преобразование между указателями и числами - обычное дело
И программист понимает что указатель - это по сути число
Тем кому это не нравится - просто пишут на более высокоуровневых языках
Числа, полученные из указателей, надо сравнивать с числами, полученными из других указателей