我在哪里可以找到C规范?

时间:2013-05-04 17:26:52

标签: c standards

我可能有机会向一些学生教授C语言。大学希望教他们纯c而不是c ++,以保持高级c ++课程的独立性。

由于c ++是从c派生的,是否有官方的“c规则”,其中包含c的所有功能,但没有c ++功能?我想知道的原因是我可以查看我需要教给学生的东西。

我曾经看过c ++标准的(2000页?)手册。即使现在是20/30岁,c也存在这样的事情吗?

此致 编

编辑:我应该指出,我已经很好地了解了C / C ++ 3年。我唯一不知道的是“正式”C是什么,什么是“正式”C ++。这就是我的目标,所以我可以给予其他学生更好的教育。

2 个答案:

答案 0 :(得分:7)

在1990年,1999年和2011年发布了3项官方ISO C标准。还有一些“技术勘误”,正式文件对标准进行了修正。

标准本身可以从ISO或您的国家标准机构(如美国ANSI)以PDF(或纸质)格式购买。 ANSI以约30美元的价格销售C11标准,但具有严格的许可要求。技术勘误表本身是免费提供的,但如果没有标准,它们就无济于事。如果你想让你的班级可以使用这个标准,那可能不是一个实用的方法。

但C标准的草案经常在ISO C委员会的网站上提供。

N1256是C99标准的草案,其中三个技术勘误表合并到其中。对于大多数目的而言,它实际上比官方C99标准更好。

N1570是在ISO标准发布之前发布的2011 ISO C标准的最新版(据我所知,据我所知)。 N1570与官方标准之间只有一些细微的编辑差异。

C11标准还有一个小技术勘误,其中包含一些不在N1570或C11中的修正:由于疏忽,公布的标准没有定义__STDC_VERSION__的值和正确选择__STDC_LIB_EXT1__个宏(两者都是201112L)。

每个标准(和草案)都总结了它与之前标准之间的差异。

除了标准(并非真正为一般程序员编写),Harbison&斯蒂尔的C: A Reference Manual是一个非常好的参考。目前的第5版涵盖C90和C99,但不包括C11。 (我不知道第6版的任何计划。)

答案 1 :(得分:4)

您正在寻找C标准。由于标准机构通过出售标准出版物来资助自己,因此无法获得最终版本。但是,有很多C草案标准的副本可以满足您的需要。

https://www.google.com/search?q=c+draft+standard+pdf

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf