Есть ли различия между ANSI C и ISO C? - PullRequest
12 голосов
/ 20 ноября 2010

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

Ответы [ 2 ]

9 голосов
/ 20 ноября 2010

В 1990 году Международная организация по стандартизации приняла стандарт ANSI C (с небольшими изменениями) в виде ISO / IEC 9899: 1990.Эта версия иногда называется C90.Поэтому термины «C89» и «C90» относятся по существу к одному и тому же языку.

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

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

4 голосов
/ 20 ноября 2010

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

...