(Box *)b
это тип приведения из void в структуру Box. (*(Box *)b).d
это разыменование из указателя структуры Box. Таким образом, вы можете обработать структуру как экземпляр, а затем получить значения полей структуры как b.d
. Другой вариант может заключаться в том, чтобы использовать указатель и избегать разыменования с помощью: b->d
.
В конце функция сравни выполняет: (d w) - (д * 1 014 * ш)». Если результат равен 0, тогда сравнение означает, что обе структуры имеют одинаковые значения.
PD. В (2): не забывайте, что вы получаете параметр в качестве указателя, и эта реализация разыменовывает его как (*b).d