Использование приведения типов может быть тем, что требуется вашей программе.Например, в библиотеке Дориена все типы, предоставляемые пользователю (в заголовочных файлах), являются void*
.В .c файлах они приводятся к тому, что необходимо, например, к mersenne_t в наборе инструментов RNG.Использование очевидно: структура mersenne_t содержит поля, которые никогда не должны быть запутаны или даже видны пользователю библиотеки.Наличие только типа TCOD_random_t, доступного для пользователя библиотеки, приводит к более чистому API.
Другим примером приведения типов может быть, например, округление с плавающей точкой вниз:
float f = 1.5f;
int i = (int)f;
printf("%d",i);
Вышеприведенный вывод1
.
Вы можете использовать это для создания функции округления с плавающей точкой:
float round(float f) {
f += (f>0.0f?0.5f:(-0.5f));
return (float)((int)f);
}