приведение типа в с - PullRequest
       2

приведение типа в с

1 голос
/ 29 ноября 2010

Какая польза от приведения типов?Почему это требуется?Это просто конвертировать из одного типа в другой?

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

Использование приведения типов может быть тем, что требуется вашей программе.Например, в библиотеке Дориена все типы, предоставляемые пользователю (в заголовочных файлах), являются 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);
}
1 голос
/ 29 ноября 2010

Typecasting - это конструкция компилятора, которая указывает синтаксическому анализатору, что, хотя ожидаемый тип и фактический тип различаются, генератор кода все еще должен иметь возможность обрабатывать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...