Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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




  1. Адресация функций осуществляется по первому байту расположения машинного кода функции в памяти.
  2. Инициализированный указатель на функцию содержит адрес этой функции.
  3. Арифметические операции над указателями на функции запрещены в силу их внутреннего представления.
  4. При описании указателя на функцию необходимо соблюдать приоритет операций. Разыменование имеет низкий приоритет, поэтому порядок действий определяется круглыми скобками.
  5. При описании указателя на функцию в качестве параметров можно указывать пустой список или список типов параметров.
  6. При вызове функции через указатель необходимо, чтобы типы и набор фактических параметров совпадали с прототипом адресуемой функции.
  7. Функции можно передавать в качестве параметров функций.
  8. Указатели на функции и указатели как параметры функции имеют широкое практическое применение в программировании. Почему запрещены арифметические операции над указателями на функции?
  9. Почему в описании указателя на функцию необходимы круглые скобки при имени указателя?
  10. Может ли функция возвращать значение типа указатель? Если да, то как объявляется прототип такой функции?
  11. Могут ли параметрами функции быть указатели на объекты? Если да, то как происходит передача фактических параметров при вызове функции?
  12. Могут ли параметрами функции быть указатели на функции? Если да, то как происходит передача фактических параметров при вызове функции?
  13. Как понимается следующее объявление:

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

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

Контрольные вопросы

  1. Что лежит в основе всех программ, созданных на языке С?
  2. Какие типы данных может возвращать функция? И что не может возвращать?
  3. Что такое прототип функции? Какие элементы объявления функции входят в ее прототип?
  4. В чем разница между фактическими и формальными параметрами функции?
  5. Какой способ передачи параметров в функциях предусматривает синтаксис языка С?
  6. Как можно изменить значение аргумента функции в теле самой функции?
  7. Какая область видимости переменных, определенных в теле функции?
  8. Можно ли использовать функцию без параметров и без служебного слова void? К каким последствиям это может привести?
  9. Как следует Напишите программу, состоящую из нескольких пользовательских функций, без прототипов созданных функций?
  10. Каким образом можно вернуть из функции несколько значений?
  11. Каким образом определяется тип функции?
  12. Как выглядит описание функции, которая возвращает указатель на заданный тип, например, char?
  13. Можно ли использовать многоуровневую адресацию для функции, которая возвращает указатель на заданный тип? Если можно, то как происходит определение такой функции?
  14. В каком месте программы можно определить указатель на функцию?
  15. Имеет ли указатель на функцию прототип и определение?
  16. Как осуществляется вызов функции с помощью указателя?
  17. Как взаимосвязаны между собой объявление функции, ее определение и вызов функции?

Данная страница нарушает авторские права?





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.