Подписка на блог

РСС — лучше всего

Ещё есть автоматические трансляции в Тумблере и Же-же. Если что-то не работает, напишите мне: ilyabirman@ilyabirman.ru.

Язык программирования «Си»

Для интерпретации сложных описаний предлагается простое правило, которое звучит как «изнутри наружу», и состоит из четырех шагов.

1. Начать с идентификатора и посмотреть вправо, есть ли квадратные или круглые скобки.

2. Если они есть, то проинтерпретировать эту часть описателя и затем посмотреть налево в поиске звездочки.

3. Если на любой стадии справа встретится закрывающая круглая скобка, то вначале необходимо применить все эти правила внутри круглых скобок, а затем продолжить интерпретацию.

4. Интерпретировать спецификатор типа.

Примеры: 

int    * ( * comp [10]) ();
 6     5   3   1    2    4


В данном примере объявляется переменная comp (1), как массив из десяти (2) указателей (3) на функции (4), возвращающие указатели (5) на целые значения (6). 

char  * ( * ( * var ) () ) [10];
  7   6   4   2  1     3     5


Переменная var (1) объявлена как указатель (2) на функцию (3) возвращающую указатель (4) на массив (5) из 10 элементов, которые являются указателями (6) на значения типа char.
(Отсюда)
Подписаться на блог
Поделиться
Отправить

Пользовательский интерфейс
Доступен первый раздел
электронного учебника

Популярное