Си — компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969—1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би. Первоначально был разработан для реализации операционной системы UNIX, но впоследствии был перенесён на множество других платформ. Согласно дизайну языка, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном программном обеспечении для множества устройств — от суперкомпьютеров до встраиваемых систем. Язык программирования Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C.
В программировании заголовочный файл или подключаемый файл — файл, содержимое которого автоматически добавляется препроцессором в исходный текст в том месте, где располагается некоторая директива.
errno.h — заголовочный файл стандартной библиотеки языка программирования С, содержащий объявление макроса для идентификации ошибок через их код. POSIX-совместимые операционные системы, наподобие Unix и Linux, могут включать другие макросы для определения ошибок через собственные коды errno
. Значение errno
имеет смысл только тогда, когда системный вызов или функция возвращает признак ошибки.
Open Watcom — проект сообщества открытого кода по поддержке и развитию многоплатформных компиляторов Watcom C, C++ и Fortran и сопутствующих программ. Лицензия открытого ПО от Sybase позволяет лишь некоммерческое использование пакета Open Watcom частными лицами.
ANSI C — стандарт языка C, опубликованный Американским национальным институтом стандартов (ANSI). Следование этому стандарту помогает создавать легко портируемые программы.
Вариативный макрос — возможность препроцессором Си при помощи специального макроса объявлять поддержку различного числа аргументов.
assert.h — заголовочный файл стандартной библиотеки языка программирования С, в котором объявляется макрос препроцессора языка С assert
. Данный макрос реализует исключение, которое может использоваться для проверки сделанных программой вычислений.
Препроцессор C/C++ — программа, подготавливающая код программы на языке C/C++ к компиляции.
C99 — стандарт языка программирования Си. Определен в ISO/IEC 9899:1999, современная версия - ISO/IEC 9899:1999/Cor 3:2007 от 2007-11-15. Является развитием стандарта C90.
stdio.h заголовочный файл стандартной библиотеки языка Си, содержащий определения макросов, константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода. Функциональность унаследована от «портативного пакета ввода-вывода», написанного Майком Леском из Bell Labs в начале 1970-х. C++ ради совместимости также использует stdio.h
наряду со схожим по функциональности заголовочным файлом cstdio.
inttypes.h является заголовочным файлом стандартной библиотеки Си и соответствующего API. Он был добавлен в версии 1999 года ISO-стандарта языка Си. Он включает в себя заголовочный файл stdint.h. В нём определён ряд макросов для использования с семействами функций printf
и scanf
и функции для работы с типом intmax_t
.
stdlib.h — заголовочный файл стандартной библиотеки языка Си, который содержит в себе функции, занимающиеся выделением памяти, контролем процесса выполнения программы, преобразованием типов и другие. Заголовок вполне совместим с C++ и известен в нём как cstdlib
. Название «stdlib» расшифровывается как «standard library».
stddef.h — заголовочный файл стандартной библиотеки языка программирования С, определяющий макросы NULL и offsetof, а также типы ptrdiff_t, wchar_t и size_t.
stdarg.h — заголовочный файл стандартной библиотеки языка программирования Си, предоставляющий средства для перебора аргументов функции, количество и типы которых заранее не известны.
stdint.h — заголовочный файл стандартной библиотеки языка Си, введённый стандартом C99. Заголовочный файл объявляет несколько целочисленных типов и макросов.
C11 или ISO/IEC 9899:2011 — стандарт для языка Си, который заменил существующий стандарт C99. Официально о выпуске стандарта было объявлено 19 декабря 2011 года. Эта версия стандарта большей частью стандартизирует возможности, существующие в распространённых современных компиляторах. Из-за плохой совместимости текущих реализаций C99 со стандартом C11 включает в себя больше выборочных возможностей для упрощения совместимости со стандартом ядра языка. Действующий с 2018 года стандарт C18 фактически является уточнённым вариантом C11, исправляющим найденные в стандарте ошибки.
Язык программирования C++ поддерживает все операторы своего прародителя Си и дополнен новыми операторами и возможностями.
- например, операторами приведения типа:
- const_cast
- static_cast
- dynamic_cast
- reinterpret_cast
- возможность перегрузки операторов;
Система типов Си — реализация понятия типа данных в языке программирования Си. Сам язык предоставляет базовые арифметические типы, а также синтаксис для создания массивов и составных типов. Некоторые заголовочные файлы из стандартной библиотеки Си содержат определения типов с дополнительными свойствами.
Язык программирования Си разрабатывался в период с 1969 по 1973 годы в лабораториях Bell Labs. Согласно Ритчи, самый активный период творчества пришёлся на 1972 год. Язык назвали «Си», потому что многие его особенности берут начало от старого языка «Би». Существует несколько различных версий происхождения названия языка Би. Кен Томпсон указывает на язык программирования BCPL, однако существует ещё и язык Bon, также созданный им. Ритчи предполагает, что название языка могло быть производным от имени жены Томпсона Бонни.
threads.h — заголовочный файл стандартной библиотеки языка программирования С, содержащий макросы, типы, константы и функции для работы с потоками. Данный заголовочный файл появился в стандарте C11.