1989年C语言由美国国家标准协会ANSI进行了标准化,被称为ANSI C,也就是C89
1999年,正式发布了ISO/IEC 9889:1999,简称为C99标准
2011年,正式发布了ISO/IEC 9889:2011,简称为C11标准
需注意C89和C99有如下区别,在keil编译器里默认为C89模式,未勾选C99将会产生错误。
1. C89不准出现未定义长度的数组,如下程序将会报错。
void test(int len)
{
char a[len];
a[0] = 0;
}
2.C89变量的定义只能出现在函数的开始,如下程序将会报错。
printf("a,b,b");
char *a;