В 1978 году Ритчи и Керниган опубликовали первую редакцию книги
«Язык программирования Си». Эта книга, известная среди программистов
как «K&R», служила многие годы неформальной спецификацией языка.
Версию языка Си, описанную в ней, часто называют «K&R C» (вторая
редакция этой книги посвящена более позднему стандарту ANSI C).
K&R ввёл следующие особенности языка:
-
записи (тип данныхstruct
);
-
длинное целое (тип данныхlong int
);
-
целое без знака (тип данныхunsigned int
);
-
оператор+=
и подобные ему (старые операторы=+
вводили анализатор лексики компилятора Си в заблуждение, например, при сравнении выраженийi =+ 10
иi = +10
).
K&R C часто считают самой главной частью языка, которую должен
поддерживать компилятор Си. Многие годы даже после выхода ANSI C, он
считался минимальным уровнем, которого следовало придерживаться
программистам, желающим добиться от своих программ максимальной
портативности, потому что не все компиляторы тогда поддерживали ANSI C,
а хороший код на K&R C был верен и для ANSI C.