Post #48
177
EBFE: software internals Задача на ночь: на языке С напишите без использования typedef и глобальных переменных функцию с реализацией, которая получает массив из четырёх указателей на функции и возвращает указатель на функцию, которая берётся из массива (аргумент) и выбирается по очереди…
Немного проясню). Есть где-то некое множество функций с одинаковым заголовком: принимают два инта и возвращают инт (типо операторы бинарные, например). Далее есть некоторая функция (которую вам надо написать в рамках задачи) которая принимает массив ровно из четырёх элементов с указателями на функции указанного вида, и по очереди (от вызова к вызову) возвращает один из этих указателей. С typedef это элементарно и выглядит так, что просто затайпдефили типы указателей на функции и написали требуемую - просто выбор одного из четырёх long из массива (по сути так и есть - в рамках ассемблера неотличимо будет). Однако, по условиям задачи нельзя использовать typedef - это немного усложняет - надо понять как синтаксически функция может вернуть указатель на функцию - это немного необычно и редко используется, но знать надо. Ответ будет в ближайшее воскресенье вечером. Дерзайте!