vak: (Знайка)
[personal profile] vak
Простой ли язык Си? Я покажу вам как в нём строятся типы, и вы сами решите. (Подсказка: непростой.)

Я задумал некий сложный тип. Будем строить его по шагам. Что он по большому счёту представляет? Указатель. Ставим звёздочку.
*
На что указывает наш указатель? На массив. Ставим круглые скобки вокруг звёздочки и дописываем квадратные скобки справа.
(*)[]
Сколько элементов в массиве? Пять. Ставим пятёрку внутри квадратных скобок.
(*)[5]

Что находится в каждом элементе массива? Указатель. Добавляем звёздочку слева.
*(*)[5]
На что указывает этот указатель? На функцию. Какие аргументы принимает функция? Один аргумент типа char. Заворачиваем нашу конструкцию в круглые скобки и справа в круглых скобках добавляем аргументы.
(*(*)[5])(char)
Что возвращает функция? Тип int. Дописываем слева.
int (*(*)[5])(char)
Таким образом, мы имеем указатель на массив из пяти указателей на функции, принимающие char и возвращающие int. Не пытайтесь повторить на трезвую голову. 😀

А чтобы совсем весело стало, добавим внутрь слово static.
int (*(*)[static 5])(char)
Получили указатель на массив из не менее чем пяти указателей на функции, принимающие char и возвращающие int.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at [email protected]

OSZAR »