Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Упражнения. Адрес функции –это адрес памяти, с которого начинается машинный код функции

Вопросы

Набор для практики

Краткие итоги

Ключевые термины

Адрес функции – это адрес памяти, с которого начинается машинный код функции.

Косвенное обращение по указателю на функцию – это вызов функции, адресуемой указателем.

Указатели на функции как параметры функции – это параметры функции, типы которых определены как указатели на функции.

Указатель на функцию – это переменная, которая содержит адрес этой функции.

 

1. Адресация функций осуществляется по первому байту расположения машинного кода функции в памяти.

2. Инициализированный указатель на функцию содержит адрес этой функции.

3. Арифметические операции над указателями на функции запрещены в силу их внутреннего представления.

4. При описании указателя на функцию необходимо соблюдать приоритет операций. Разыменование имеет низкий приоритет, поэтому порядок действий определяется круглыми скобками.

5. При описании указателя на функцию в качестве параметров можно указывать пустой список или список типов параметров.

6. При вызове функции через указатель необходимо, чтобы типы и набор фактических параметров совпадали с прототипом адресуемой функции.

7. Функции можно передавать в качестве параметров функций.

8. Указатели на функции и указатели как параметры функции имеют широкое практическое применение в программировании.

 

1. Почему запрещены арифметические операции над указателями на функции?

2. Почему в описании указателя на функцию необходимы круглые скобки при имени указателя?

3. Может ли функция возвращать значение типа указатель? Если да, то как объявляется прототип такой функции?

4. Могут ли параметрами функции быть указатели на объекты? Если да, то как происходит передача фактических параметров при вызове функции?

5. Могут ли параметрами функции быть указатели на функции? Если да, то как происходит передача фактических параметров при вызове функции?

6. Как понимается следующее объявление:

float *(*func)(int(*pf)(char),float);?

7. В чем отличие результатов вызова функции через указатель с последующим разыменованием указателя и без разыменования указателя?

 

1. Наберите коды программ из Примеров 1-3. Выполните компиляцию и запуск программ.

2. Методом половинного деления решите уравнения на отрезке [ a, b ] с данной точностью е: , . При решении считать, что на данном отрезке существует единственный корень. Решите первое уравнение на отрезке [0, 1], а второе на отрезке [100, 150].

3. Решите задачу, используя один указатель на функцию. Разработайте четыре функции над двумя целыми параметрами, соответствующие арифметическим операциям (+, -, *, /). В основной программе задавайте два целых параметра и символьный знак операции до тех пор, пока не будет введен пробел в качестве знака операции. В выходных данных выводите значения функций.

4. Вычислите суммы с данной точностью е. Используйте указатели на функции как параметры. и .

 

Литература

1. Керниган, Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – М.: Вильямс, 2007. – 304 с.

2. Подбельский, В.В. Практикум по программированию на языке Си: учеб. пособие / В.В. Подбельский. – М.: Финансы и статистика, 2004. – 576 с.

3. Подбельский, В.В. Программирование на языке Си: учеб. пособие / В.В. Подбельский, С.С. Фомин. – М.: Финансы и статистика, 2004. – 600 с.

4. Подбельский, В.В. Язык Си++: учеб. пособие / В.В. Подбельский. – М.: Финансы и статистика, 2005. – 560 с.

5. Романов, Е.Л. Практикум по программированию на языке С++: учеб. пособие / Е.Л. Романов. – СПб: БХВ-Петербург, 2004. – 432 с.

6. С/С++. Структурное программирование: практикум / Т.А. Павловская, Ю.А. Щупак. – СПб: Питер, 2004. – 239 с.

 

<== предыдущая лекция | следующая лекция ==>
Текст лекции. Лекция 5. Тип указатель: указатели на функции | Аппарат Гольджи
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 525; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.