Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Краткие итоги
- Адресация функций осуществляется по первому байту расположения машинного кода функции в памяти.
- Инициализированный указатель на функцию содержит адрес этой функции.
- Арифметические операции над указателями на функции запрещены в силу их внутреннего представления.
- При описании указателя на функцию необходимо соблюдать приоритет операций. Разыменование имеет низкий приоритет, поэтому порядок действий определяется круглыми скобками.
- При описании указателя на функцию в качестве параметров можно указывать пустой список или список типов параметров.
- При вызове функции через указатель необходимо, чтобы типы и набор фактических параметров совпадали с прототипом адресуемой функции.
- Функции можно передавать в качестве параметров функций.
- Указатели на функции и указатели как параметры функции имеют широкое практическое применение в программировании. Почему запрещены арифметические операции над указателями на функции?
- Почему в описании указателя на функцию необходимы круглые скобки при имени указателя?
- Может ли функция возвращать значение типа указатель? Если да, то как объявляется прототип такой функции?
- Могут ли параметрами функции быть указатели на объекты? Если да, то как происходит передача фактических параметров при вызове функции?
- Могут ли параметрами функции быть указатели на функции? Если да, то как происходит передача фактических параметров при вызове функции?
- Как понимается следующее объявление:
float *(*func)(int(*pf)(char), float);?
- В чем отличие результатов вызова функции через указатель с последующим разыменованием указателя и без разыменования указателя?
Контрольные вопросы
- Что лежит в основе всех программ, созданных на языке С?
- Какие типы данных может возвращать функция? И что не может возвращать?
- Что такое прототип функции? Какие элементы объявления функции входят в ее прототип?
- В чем разница между фактическими и формальными параметрами функции?
- Какой способ передачи параметров в функциях предусматривает синтаксис языка С?
- Как можно изменить значение аргумента функции в теле самой функции?
- Какая область видимости переменных, определенных в теле функции?
- Можно ли использовать функцию без параметров и без служебного слова void? К каким последствиям это может привести?
- Как следует Напишите программу, состоящую из нескольких пользовательских функций, без прототипов созданных функций?
- Каким образом можно вернуть из функции несколько значений?
- Каким образом определяется тип функции?
- Как выглядит описание функции, которая возвращает указатель на заданный тип, например, char?
- Можно ли использовать многоуровневую адресацию для функции, которая возвращает указатель на заданный тип? Если можно, то как происходит определение такой функции?
- В каком месте программы можно определить указатель на функцию?
- Имеет ли указатель на функцию прототип и определение?
- Как осуществляется вызов функции с помощью указателя?
- Как взаимосвязаны между собой объявление функции, ее определение и вызов функции?
Данная страница нарушает авторские права?
|