Книга: Язык программирования Си для персонального компьютера
Преобразования типов при вызовах функций
Преобразования типов при вызовах функций
Метод преобразования аргументов функция при ее вызове зависит от того, имеется ли предварительное объявление данной функции, содержащее список типов ее аргументов.
Если предварительное объявление имеется, и оно содержит список типов аргументов, то компилятор осуществляет контроль типов. Процесс контроля типов подробно описан в разделе 6.4.1 "Фактические аргументы".
Если предварительное объявление отсутствует, или в нем опущен список типов аргументов, то над аргументами вызываемой функции выполняются только преобразования по умолчанию. Преобразования выполняются отдельно для каждого аргумента вызова. Смысл этих преобразований сводится к тому, что значения типа float преобразуются к типу double, значения типов char и short преобразуются к типу int, значения типов unsigned char и unsigned short преобразуются к типу unsigned int.
Если в вызываемой функции в объявлениях формальных параметров - указателей используются модификаторы near, far, huge, то могут также происходить неявные преобразования формата указателей, передаваемых в функцию. Процесс преобразования можно контролировать путем задания соответствующих модификаторов в предварительном объявлении функции в списке типов аргументов - указателей. В этом случае компилятор выполнит преобразования в соответствии со списком типов аргументов.
- Преобразования типов
- Явные преобразования типов
- 8.2. Вызов функций
- Использование типов содержимого и столбцов
- 5.3 Классификация типов резервного копирования
- 2.7 Преобразования типов
- Описание типов модулей оперативной памяти
- Пересмотр функций клиента
- Вызовы функций
- Объекты без прототипов
- 9.1.6.1. Использование функций POSIX: wait() и waitpid()
- 7. Лекция: Преобразование типов