
- •Лекция №10 Тема: Строки.
- •Функции работы со строками из библиотеки обработки строк
- •Пример 4.
- •Пример 5
- •Пример на многомерные динамические массивы
- •Указатели на функции
- •Пример №1
- •Результат выполнения программы:
- •Пример №2
- •Результат выполнения программы
- •Пример №3
- •Результаты выполнения программы
Результаты выполнения программы
Введите число между 1 и 3, другое число - окончание: 1
Вы ввели 1, поэтому была вызвана func1
Введите число между 1 и 3, другое число - окончание: 2
Вы ввели 2, поэтому была вызвана func2
Введите число между 1 и 3, другое число - окончание: 3
Вы ввели 3, поэтому была вызвана func3
Введите число между 1 и 3, другое число - окончание: 10
Вы ввели 10 для окончания
В программе определены три функции — func1, func2, func3 - каждая из которых принимает целый аргумент и ничего не возвращает. Указатели на эти три функции хранятся в массиве f, который объявлен следующим образом:
void (*f[3])(int) = {func1, func2, func3};
Массив получает в качестве начальных значений имена 3-х функций. Когда пользователь вводит значения 1, 2 или 3, это значение (минус 1) используется в качестве индекса в массиве указателей на функции.
Вызов функции выполняется следующим образом:
(*f[choice-1])(choice);
В этом вызове (*f[choice-1]) определяет указатель, расположенный в элементе массива с индексом choice-1. Указатель разыменовывается, чтобы вызвать функцию, и choice передается функции как аргумент. Каждая функция печатает имя функции, чтобы показать, что вызов верен.