C语言标准化历程与C89/C99关键改动

需积分: 16 19 下载量 8 浏览量 更新于2024-08-07 收藏 609KB PDF 举报
本文主要介绍了C++编程语言中的类型区分符和C语言的标准化过程。 在C++中,类型区分符是用于定义变量或数据结构类型的关键词,它们包括`void`、`char`、`short`、`int`、`long`、`float`、`double`、`signed`、`unsigned`以及结构或联合区分符、枚举区分符和类型定义名字。这些区分符帮助程序员指定变量存储数据的类型和大小。例如,`int`用于表示整型,`float`用于表示单精度浮点型,`signed`和`unsigned`则分别表示带符号和无符号整型。`long`和`short`可以与`int`结合使用,调整整型的宽度,而`long`还可以与`double`结合表示双精度浮点型。`signed`和`unsigned`可以与`char`、`int`的变种或者它们自身一起使用,控制整型的符号属性。如果声明中没有明确的类型区分符,编译器通常会默认为`int`类型。 类型区分符还可以与其他限定符一起使用,如`const`(常量)和`volatile`(易变),这些限定符用来指示变量的特定行为。`const`限定符确保变量一旦赋值后不能更改,而`volatile`则告诉编译器该变量的值可能在编译器不知情的情况下发生变化,例如在多线程环境或硬件交互中。 C语言的标准化历程包括了几个关键阶段: 1. Traditional C:早期的C语言,主要依据 Brian W. Kernighan 和 Dennis M. Ritchie 的《C程序设计语言》第一版。这个阶段的C语言没有统一的标准,各编译器有自己的实现和扩展。 2. C89/ANSI C:1989年,美国国家标准协会(ANSI)制定了第一个C语言标准,后来成为国际标准ISO/IEC 9899:1990。这个标准引入了函数原型、`const`和`volatile`关键字,以及其他改进。 3. C95:C89标准的修订版,添加了一些新的头文件、函数和宏,进一步完善了C语言。 4. C99:1999年,ISO发布了最新的C语言标准ISO/IEC 9899:1999,引入了复数类型、变长数组、布尔类型、更好的非ASCII字符支持、浮点数处理改进以及C++风格的单行注释等新特性。 C99标准文档提供了详细的C语言规范,是编写C代码的重要参考。C++作为C语言的超集,继承了C的大部分语法,并且增加了类、模板、异常处理等面向对象的特性,使其在系统级编程和应用开发中都具有广泛的应用。理解C语言的标准化过程和类型区分符的使用对于深入学习C++至关重要,有助于编写出高效、健壮的代码。