Подтвердить что ты не робот

Существуют ли различия между ANSI C и ISO C?

Я понимаю, что есть стандарт ANSI и стандарт ISO для C. Существуют ли различия между этими двумя стандартами? Если так, то кто они? И если нет никакой разницы, то какой смысл иметь два стандарта?

4b9b3361

Ответ 1

В 1990 году Стандарт ANSI C (с несколькими незначительными изменениями) был принят Международной организацией по стандартизации в качестве ИСО/МЭК 9899: 1990. Эта версия иногда называется C90. Поэтому термины "C89" и "C90" относятся, по существу, к одному и тому же языку.

Источник, ситуация аналогична, но обратная для C99. Существует также C FAQ entry по этому вопросу.

Причина, по которой существуют два стандарта, проста: ANSI является органом североамериканских стандартов, а ISO - международным.

Ответ 2

Помимо того, что новые изменения будут ратифицированы ИСО перед национальными органами стандартизации, такими как ANSI, эти два варианта совпадают. Однако распространенное неправильное использование означает, что "ANSI C" означает исходный язык, стандартизованный ANSI в 1989 году, и "ISO C", "ISO C99" или просто "C99", чтобы обозначить текущий стандарт, принятый ISO в 1999 году.