2020-04-14 C标准

作者: owlister | 来源:发表于2020-04-14 19:51 被阅读0次

    C 语言自出现至今,出现了好几个标准,不同的标准对 C 的编程会稍有影响。 

    另外,C 的编译器有很多种,使用方法各不相同。

    ·1972  贝尔实验室

    Dennis Ritchie在B语言的基础上修改并发展成了C语言。


    一直到 20 世纪 70 年代后期,C 语言都只是“传统的 C 语言”,没有一个统一的 标准,直到 1978 年 Kernighan 和 Ritchie 合著了《C Programming Language》一书, 人们才算有了一个事实上的标准,称为标准 C 或经典 C。 

    C89

    C 语言在不同硬件平台上的发展,导致了很多看似相同实则不兼容的情况。为 了解决这些问题,美国国家标准委员会(ANSI)在 1983 年制订了一个新的 C 语言 标准,并在 1989 年得到批准。很长时间以来这个标准被称作 ANSI C,现在叫作 C89, 这也是目前大多 C 编译器都遵循的标准。 

    C99

    C99 标准是 1999 年从 C89 标准修订而来的,主要做了如下改进: 

    (1)支持用“//”符号进行单行注释;

     (2)变量定义可以在程序块的任何位置(不必在所有非定义语句的前面,甚至 可以出现在 for 语句的初始化从句中,如 for(int i =1; i<10 ; i++); 

    (3)支持只能拥有 0 或 1 值的布尔类型; (4)函数必须显式地声明返回类型(不允许采用缺省默认 int 的方式); 

    (5)支持可变长数组(程序运行时才确定数组的大小); 

    (6)在内存某区域对指针进行互斥的访问限制; 

    (7)支持内联函数;

     (8)对返回类型不是 void 的函数必须用 return 返回一个值(表达式),返回类 型是 void 的函数 return 后面不能出现任何值(表达式); 

    (9)支持复数及运算; 

    (10)用 snprintf 函数打印内存中字符串时,可防止缓冲区溢出;

     C99 目前尚未被广泛采用,完全支持 C99 的编译器不多。 

    相关文章

      网友评论

        本文标题:2020-04-14 C标准

        本文链接:https://www.haomeiwen.com/subject/dldtvhtx.html