Чему вы научитесь
Что означает int (*f[10])(char *)?
Почему int *a[10] и int (*a)[10] — совершенно разные объявления?
И как написать такую конструкцию самому, а не только попытаться её расшифровать?
Этот курс — практический тренажёр по сложным объявлениям в языке C.
Вы научитесь
- читать объявления с указателями, массивами и функциями;
- строить объявления с нуля по описанию типа;
- разбираться с указателями на функции и таблицами обработчиков;
- понимать сложные параметры функций;
- работать с типами без имени объекта;
- использовать
typedef, чтобы превращать длинные объявления в понятные интерфейсы.
В основе курса — одно основное правило чтения. Оно будет дано в самых первых уроках, дальше лишь отработа комбинаций.
Сначала вы научитесь читать объявления, затем строить их в обратном направлении, а в конце — декомпозировать сложные типы с помощью typedef.
Курс построен не как набор правил для запоминания, а как последовательная практика с постепенным увеличением сложности.
Цель курса — чтобы объявления C перестали выглядеть как отдельный язык внутри языка.
P.S. Этот курс я оставляю бесплатным — привет студентам!
О курсе
Для кого этот курс
Тем, кто уже начал изучать Си: школьникам старших классов, студентам, начинающим программистам и разработчикам, возвращающимся к языку.
Начальные требования
Курс предполагает, что вы уже знакомы с основами языка Си и понимаете, что такое переменные, массивы, указатели и функции.
Также предполагается, что вам знакомы такие понятия, как указатель на массив, указатель на функцию, массив указателей и другие сочетания этих базовых конструкций.
При этом уметь записывать и читать их сложные объявления заранее не требуется — именно этому посвящён курс.
Например, если фраза «указатель на функцию, принимающую int и возвращающую double» вам понятна по смыслу, но вы не уверены, как правильно записать такой тип на Си, — курс вам подходит.
Преподаватели курса
Как проходит обучение
Последовательное прохождение от простых объявлений к сочетаниям массивов, указателей и функций.
Формат курса
Самостоятельный практический курс с короткими объяснениями и задачами на чтение и написание кода.