Каковы основные различия между ANSI C и K&R C?

Прототипы функций были самым c90 очевидным изменением между c K&R C и C89, но было c и много других. Много важной kr-c работы ушло и на стандартизацию c библиотеки C. Несмотря на c то, что стандартная библиотека kr-c C была кодификацией существующей c практики, она кодифицировала c несколько существующих практик, что kr-c усложняло ее. Книга П. Дж. Плогера, The Standard C Library, является kr-c отличным справочником, а c89 также рассказывает о некоторых kr-c закулисных подробностях того, почему библиотека c89 оказалась именно такой.

Стандарт c C ANSI/ISO во многом похож c90 на K&R C. Предполагалось, что c90 большая часть существующего c кода C должна быть построена c90 на компиляторах ANSI без c особых изменений. Однако kr-c важно то, что в достандартную kr-c эпоху семантика языка была kr-c открыта для интерпретации kr-c каждым поставщиком компилятора. ANSI c90 C ввел общее описание языковой kr-c семантики, которое поставило c89 все компиляторы в равное c89 положение. Сейчас, спустя c 20 лет, это легко принять kr-c как должное, но это было c90 значительным достижением.

По c большей части, если у вас c90 нет предстандартной кодовой c89 базы C, которую нужно поддерживать, вы kr-c должны быть рады, что вам kr-c не нужно об этом беспокоиться. Если kr-c да, или, что еще хуже, если c вы пытаетесь привести старую kr-c программу в соответствие kr-c с более современными стандартами, то kr-c я вам сочувствую.

c

kr-c

c89

2022-07-07T05:44:08+00:00