Процедурное программирование на системном языке Си

Си — процедурный язык программирования высокого уровня, разработанный Томпсоном и Денисом Ричи в 1970 году.

Изначально создавался для использования в UNIX подобных ОС. Программы, написанные на языке Си, максимально приближены к низкому уровню. Каждой строке кода соответствует несколько ассемблерных инструкций, из-за чего его часто называют языком среднего уровня. Для компиляции «исходников» применяется однопроходный компилятор (BDC C, GCC, Decus C, LCC и др.).

Особенности языка:

использование препроцессора для подключения библиотек;

доступ к памяти через указатели;

передача параметров по значению;

огромная библиотека функций;

статическое и динамическое  выделение памяти.

Недостатки:

нет проверки индекса массива, что часто приводит к переполнению буфера;

из-за неправильного использования указателей могут появляться непредсказуемые «баги»;

динамические объекты не инициализируются.