c
Язык программирования C
Пошаговое руководство по реализации ООП в C. Основные паттерны: структуры, инкапсуляция, наследование и полиморфизм.
Обзор методов поиска подстрок в C: стандартные функции strstr, strchr и алгоритмы KMP, Бойера-Мура с примерами реализации.
Анализ безопасности возврата const std::string_view и const std::string& из корутин C++. Правильные практики работы с локальными переменными для избежания undefined behavior.
Анализ неоднозначности в языке C: приоритет операторов, типы данных, макросы и объявления функций. Практические способы избежания ошибок.
Пошаговое руководство по созданию минимальной виртуальной машины на C. Архитектура, ключевые компоненты и реализация в 125 строк кода.
Анализ атомарности операций составного присваивания с атомарными переменными в стандартах C до C23. Противоречия в C23 и реальное поведение компиляторов.
Пошаговое руководство по передаче va_list в вариадические функции C. Объяснение стандартных подходов, использование va_copy и создание безопасных оберток для вариадических функций.
Сравнение подходов к управлению памяти в C и Zig. Преимущества и недостатки malloc/free и аллокаторов Zig. Современные методы безопасного программирования.
Руководство по поиску разработчиков C для доработки математической библиотеки expr с поддержкой строковых операций.
Заголовочные файлы (.h) в C содержат прототипы функций и типы для компиляции модулей. Узнайте, зачем нужны заголовочные файлы C, их роль в компиляции и линковке, разделение интерфейса и реализации, защиту от повторного включения.
В чём разница между #include <filename> и #include "filename" в C/C++? Директива include c определяет поиск заголовочного файла: скобки — системные пути, кавычки — локальные. Избегаем ошибок include c и упрощаем разработку.