蓦然回首C语言系列——ANSI C的标准
前面的话
现在的大学牲入校时,竟然都是用的VC6.0 这么复古的 IDE ,1989年的标准,细数到现在已经有大概30年了
学习,当然要学习新的东西,要是现在还是学那些上世纪 的旧东西,怎么能体现当代革新的精神呢?
所以在这个博文里,给大家介绍一下 什么是ANSI C ,及VC6.0 的C89与C99的区别,然后向更新的C11进发
什么是ANSI C
万物都有它的标准,C语言也不例外,C的常见标准有linux c、GNU C、C51、etc,ANSI C只是其诸多标准中的一个,百科简介如下:
1983 年, 美国国家标准协会(ANSI)委任一个委员会 X3J11 对 C 语言 进行标准化。 经过长期艰苦的过程, 该委员会的工作于 1989 年 12 月 14 日正式被批准为ANSI X3.159-1989 并于 1990 年春天颁布。
当然,这个标准是用的最多最广的,它致力于C语言的标准化。
C89与C99
(当然,他们的差别太多太多,我只是粗略的讲讲,简单的,易见的)
main
想必大家成为大学牲,第一个C就是hello world
main ()
{
printf ("hello world!");
}
这个程序在Vc6.0(C89 )下很简单的通过了编译
然而在C99的标准下,没有通过编译
(让我想到了,刚刚学C时的无敌的Bug..哈哈)
原因就是标准不同
在最新的 C99 标准中,只有以下两种定义方式是正确的: