На главную

Адресная арифметика

21-01-2026

Кажется, что быстрые процессоры, огромная оперативка и языки высокого уровня избавили нас от необходимости разбираться, как работает компьютер. Работает — и ладно.

Однако, время от времени, нам приходится сталкиваться со странными вещами. В языке C# есть классы и структуры. Зачем? В Java и C# есть класс StringBuilder, назначение которого не очень ясно, ведь строки можно просто складывать. В Python хорошо всё. Но когда вы начинаете вызывать функции, написанные на C, в вашу жизнь проникают такие замечательные вещи, как утечка памяти и segmentation faults. Что они такое и как от них избавиться?

За всеми архитектурными слоями, ограниченными контекстами, паттернами, классами и структурами данных живут байты, указатели и указатели на указатели.

Чтобы стройное здание нашего приложения не рухнуло в один прекрасный день, важно убедиться, что фундамент надёжен.

А для этого нужно разобраться с адресной арифметикой. Марк Шевченко из московского клуба программистов, в серии воркшопов познакомит нас с основными понятиями, задачами, и способами их решения.

Курс подходит для практикующих программистов, которые хотят углубить свои знания. Занятия ведутся на языке C, но его знания не требуется — все необходимые вещи мы узнаем на на воркшопах.

Темы воркшопов: ✔️ Указатели и ссылки, передача по значению и по ссылке.
✔️ Массивы фиксированной длины, массивы и указатели.
✔️ Сложение указателей и чисел.
✔️ Строки.
✔️ Массивы переменной длины. Выделение памяти.
✔️ Односвязный список чисел.
✔️ Односвязный список строк. Гибкие массивы.
✔️ Двумерные массивы. Массивы указателей. Указатели на указатели.
✔️ Массив строк. Фрагментация. Арены.
✔️ Указатели на функции.
✔️ Устройство памяти.
✔️ Где хранятся локальные переменные и параметры?
✔️ Функции с переменным числом параметров.

Прейлист в VK