Необязательные параметры –это неизвестные на момент компиляции параметры в прототипе функции.
Обязательные параметры –это известные на момент компиляции параметры в прототипе функции.
Одиночное перенаправление –это адресация указателем некоторого участка памяти.
Указатель на указатель –это указатель, реализующий многочисленное перенаправление.
Функции с переменным числом параметров –это функции, полный список параметров у которых может быть неизвестен на момент компиляции программы.
Краткие итоги
1.Указатель может реализовать одиночное или многочисленное перенаправление в зависимости от его объявления.
2.Для получения значения, адресуемого указателем при многочисленном перенаправлении, необходимо применить операцию разыменования несколько раз.
3.В языке С++ предусмотрены объявление и вызов функций с переменным числом параметров.
4.В прототипе функции с переменным числом параметров описываются спецификации обязательных параметров, список необязательных параметров обозначается многоточием.
5.Для функций с переменным числом параметров существуют два основных способа контроля количества параметров в списке: через передачу количества параметров и по признаку конца списка параметров.
6.Использование указателей в программах требует внимательно относиться к их инициализации, присваиванию значений, выполнению операций. Ошибки, связанные с указателями, относятся к трудноустранимым.
Набор для практики
Вопросы
1. С какой целью в программах используют указатели на указатели?
2. Что будет являться результатом однократной операции разыменования указателя, реализующего многочисленное перенаправление?
3. Для чего в программе необходима инициализация указателя перед первым его использованием?
4. С какой целью в прототипах функций с переменным числом параметров должны быть указаны обязательные параметры?
5. Как в функции с переменным числом параметров осуществляется доступ к списку неизвестных параметров?
6. Почему для доступа к списку неизвестных параметров достаточно знать адрес хотя бы одного обязательного параметра?
7. Почему ошибки, связанные с некорректным использованием указателей, относятся к наиболее трудноустранимым?
Упражнения
1.Наберите коды программ из Примеров 1-2. Выполните компиляцию и запуск программ.
2.Напишите функцию, параметрами которой служат адреса трех переменных типа double. Функция должна возвращать адрес (значение указателя) той из переменных, адресуемых параметрами, которая имеет максимальное значение. В основной программе с помощью обращения к функции поменяйте знак значения максимальной из трех переменных. Для решения данной задачи используйте вспомогательную функцию, возвращающую адрес максимальной из переменных, адресуемых двумя параметрами-указателями.
3.Напишите функцию для вычисления значения многочлена Коэффициенты , аргумент и коэффициенты передавайте в функцию с помощью списка параметров изменяемой длины. В основной программе вычислите и напечатайте значения нескольких полиномов. Для вычисления полиномов используйте схему Горнера:
.
4.Напишите функцию, которая упорядочивает значение трех переменных, адреса которых передаются ей в качестве параметров. В основной программе продемонстрируйте применение написанной функции. Для решения данной задачи определите и используйте вспомогательную функцию, которая упорядочивает значения только двух переменных, адресуемых ее двумя аргументами.
5.Напишите функцию с переменным числом параметров в соответствии с заданием, продемонстрировать вызов функции с различным числом параметров. Выполните вычисления для трех и десяти чисел. Решите задачу двумя способами: через передачу количества параметров как параметр функции и через использование признака конца списка параметров. В задаче требуется найти среднее гармоническое элементов числового ряда.
Литература
1. Керниган, Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – М.: Вильямс, 2007. – 304 с.
2. Подбельский, В.В. Практикум по программированию на языке Си: учеб. пособие / В.В. Подбельский. – М.: Финансы и статистика, 2004. – 576 с.
3. Подбельский, В.В. Программирование на языке Си: учеб. пособие / В.В. Подбельский, С.С. Фомин. – М.: Финансы и статистика, 2004. – 600 с.
4. Подбельский, В.В. Язык Си++: учеб. пособие / В.В. Подбельский. – М.: Финансы и статистика, 2005. – 560 с.
5. Романов, Е.Л. Практикум по программированию на языке С++: учеб. пособие / Е.Л. Романов. – СПб: БХВ-Петербург, 2004. – 432 с.
6. С/С++. Структурное программирование: практикум / Т.А. Павловская, Ю.А. Щупак. – СПб: Питер, 2004. – 239 с.
Дата добавления: 2017-06-02; просмотров: 472;