Указатели на функции - C (СИ) (72547)
Формулировка задачи:
Доброго времени суток.
У меня есть 3 функции.
В функции f_init(int flag), которая вызывается в main(), необходимо настроить указатель, так чтобы, в зависимости значения flag, вызывалась или f1 или f2. Не могли подсказать как это реализовать?
Я написал следующее:
Но после того, как я пытаюсь присвоить или
Компилятор ругается на меня:
f1(char p) { ...; } f2(int ser_write(char p) { ...; } f_init(int flag) { ...; }
typedef void *(FUNC)(char c); FUNC function;
function = &f1;
function = &f2;
error: lvalue required as left operand of assignment
Решение задачи: «Указатели на функции»
textual
Листинг программы
typedef void (*FUNC)(char c); FUNC function;
Объяснение кода листинга программы
- Создается тип данных
указатель на функцию
, которая принимает один аргумент типа char и не возвращает ничего. - Переменной
function
присваивается значение указателя на функцию. - Возможно, функция будет вызвана в дальнейшем для обработки переданного ей символа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д