C — стандартизированный процедурный язык программирования.
Язык C был разработан в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как наследник языка B.
C был создан для использования в операционной системе UNIX, в том числе и для написания ядра системы. С тех пор он был портирован на многие другие операционные системы и стал одним из самых широко используемых языков программирования.
В 1978 году была опубликована книга “Язык программирования C” Ритчи и Кернигана; описанный в ней язык стал неформальным стандартом языка, известным как K&R C.
Первый официальный стандарт языка был создан в 1989 году ANSI X3.159-1989 и в следующем году с незначительными изменениями принят как ISO/IEC 9899:1990; он известен как ANSI C. Следующими стандартами стали ISO 9899:1999 (C99) и ISO/IEC 9899:2011 (C11).
C ценят за его эффективность; он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ.
Особенности языка:
- минимальное количество ключевых слов;
- большинство возможностей языка вынесено в библиотеки;
- использование препроцессора для определения макросов, включения исходных кодов других файлов и условной компиляции;
- статическая слабая типизация: у всех данных есть фиксированные типы, но неявные преобразования разрешены;
- разрешено определение пользовательских типов и составных типов;
- предоставляется низкоуровневый доступ к памяти (через преобразование машинных адресов в типизированные указатели);
- процедуры являются частным случаем функции, возвращающей специальный тип void;
- файлы можно компилировать отдельно и линковать друг с другом, контролируя видимость функций и данных ключевыми словами static и extern.