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.