I. Новые возможности, добавленные к С89
1. Введены новые ключевые слова:
· inline
· restrict
· _Bool
· _Complex
· _Imaginary
2.Новые элементы:
· массивы переменной длины (не поддерживается в С++)
· арифметические операции с комплексными числами
· тип данных long long int
· комментарий //
· возможность распределять код и объявления
· добавления к препроцессору
· объявление переменных внутри оператора for
· составные литералы
· массивы с переменными границами в качестве членов структур
· назначенные инициализаторы
· изменения в функциях printf() и scanf()
· зарезервированный идентификатор __func__
· новые библиотеки и заголовки
II. Исключенные средства
1.Удаления правила "неявного int".
2.Удалено неявное объявление функций.
III. Измененные средства
1.уменьшение ограничений на транслятора
2.новые целые типы
3.более строгие правила употребления оператора return
Приложение: /* Стандартная библиотека Си */
Содержимое и форма стандартной библиотеки Си задается стандартом ANSI/ISO.
Список заголовочных файлов, определенных в стандарте С89
Заголовок | Назначение |
<assert.h> | Определяет макрос assert() |
<ctype.h> | Обработка символов |
<errno.h> | Выдача сообщений об ошибках |
<float.h> | Задает пределы значений с плавающей точкой |
<limits.h> | Задает различные ограничения |
<locate.h> | Поддерживает локализацию |
<math.h> | Определения, используемые математической библиотекой |
<setjmp.h> | Поддерживает нелокальные переходы |
<signal.h> | Поддерживает обработку сигналов |
<stdarg.h> | Списки входных параметров функции с переменным числом аргументов |
<stddef.h> | Определяет наиболее часто используемые константы |
<stdio.h> | Поддерживает систему ввода/вывода |
<stdlib.h> | Смешанные объявления |
<string.h> | Функции обработки строк |
<time.h> | Функции, обращающиеся к системному времени |
Список заголовочных файлов, добавленных в С99
Заголовок | Назначение |
<comlex.h> | Арифметические операции с комплексными числами |
<fenv.h> | Доступ к флажкам состояния вычислителя |
<inttypes.h> | Стандартный, переносимый набор имен целочисленных типов |
<iso646.h> | Макросы, соответствующие различным операторам, например && и ^ |
<stdbool.h> | Логические типы данных, определяет макрос bool |
<tgmath.h> | Определяет макросы для родового (абстрактного) типа чисел с плавающей точкой |
<wchar.h> | Поддерживает функции обработки ногобайтовых слов и двухбайтовых символов |
<wctype.h> | Поддерживает функции классификации многобайтовых слов и двухбайтовых символов |