C99标准:ISO/IEC 9899:1999概述
5星 · 超过95%的资源 需积分: 43 2 浏览量
更新于2024-07-29
收藏 1.04MB PDF 举报
"C99Standard.pdf 是C语言的一个重要标准文档,由ISO/IEC发布,涵盖了C语言的各个方面,旨在为编程提供规范。该文档包括了C99标准的详细条款,从范围、规范引用、术语定义、符号到语言特性和环境考虑等众多内容。"
C99标准是C语言的第三个主要版本,它在C90的基础上进行了扩展和改进。此标准在编程界具有重要意义,因为它引入了许多新的特性,提高了代码的可读性、安全性和效率。
1. **范围** (1.Scope): C99标准规定了C语言的语法、语义以及实现的最低要求,适用于编译器开发者和C程序员,以确保代码的可移植性。
2. **规范引用** (2.Normative references): 这一部分列出了其他与C99标准相关的规范,这些规范可能对理解和实现C99标准至关重要。
3. **术语、定义和符号** (3.Terms, definitions, and symbols): 定义了C语言中的核心概念,如标识符、类型、运算符、常量、字符串字面量等,为后续章节提供了清晰的术语基础。
4. **符合性** (4.Conformance): 描述了编译器和程序如何满足C99标准,包括不同级别的符合性类别以及如何测试符合性。
5. **环境** (5.Environment): 包括了程序运行的上下文,如**翻译环境** (5.1.1 Translation environment) 和 **执行环境** (5.1.2 Execution environments),涵盖了字符集(5.2.1 Characters sets)、字符显示语义(5.2.2 Character display semantics)、信号和中断处理(5.2.3 Signals and interrupts)以及环境限制(5.2.4 Environmental limits)等。
6. **语言** (6.Language): 详细介绍了C99的语法和特性,包括:
- **记号** (6.1 Notation): 定义了C语言的语法符号。
- **概念** (6.2 Concepts):
- **标识符的范围** (6.2.1 Scopes of identifiers):解释了变量、函数等标识符的作用域规则。
- **标识符的链接** (6.2.2 Linkages of identifiers):讨论了全局标识符和局部标识符的链接性。
- **标识符的命名空间** (6.2.3 Namespaces of identifiers):介绍了如何避免标识符冲突。
- **对象的存储持续时间** (6.2.4 Storage durations of objects):定义了静态、动态和自动存储期。
- **类型** (6.2.5 Types):涵盖了C语言的各种基本和复合类型。
- **类型表示** (6.2.6 Representations of types):讨论了不同类型在内存中的表示方式。
- **兼容类型和复合类型** (6.2.7 Compatible type and composite type):定义了类型兼容性原则。
- **转换** (6.3 Conversions):包括算术操作数的转换和其它操作数的转换。
- **词法元素** (6.4 Lexical elements):涵盖了关键字(Keywords)、标识符(Identifiers)、通用字符名(Universal character names)、常量(Constants)、字符串字面量(String literals)和标点符(Punctuators)等。
- **头文件名** (6.4.8 Headernames):讨论了标准库和用户自定义头文件的使用。
C99标准引入的新特性包括:
- **复数数学库** (Complex math library) 支持复数运算。
- **变长数组** (Variable-length arrays) 允许数组大小在运行时确定。
- **类型安全的指针和数组操作** (safer pointer and array operations) 如`restrict`关键字,减少数据竞争的可能性。
- **内联函数** (Inline functions) 提高代码执行效率。
- **布尔类型** (`_Bool` 或 `bool`) 引入了布尔逻辑。
- **宽字符和宽字符串** (Wide characters and wide strings) 用于多字节字符支持。
- **枚举类型的完整整数类型** (Enums as integer types) 使枚举类型更强大。
- **多行字符串字面量** (Multiline string literals) 便于编写和阅读代码。
- **预处理器宏改进** (Improved preprocessor macros) 如宏定义中的条件编译。
C99标准对现代C编程有着深远的影响,它提升了C语言的灵活性、安全性和可维护性,使得C程序员可以利用更多的工具来解决复杂问题。对于任何C语言的学习者和开发者来说,理解和掌握C99标准都是至关重要的。
2019-09-01 上传
2019-07-05 上传
2022-09-20 上传
2010-12-26 上传
2019-12-20 上传
2024-03-19 上传
2009-10-10 上传
2008-11-17 上传
2020-08-12 上传
jichunlai
- 粉丝: 38
- 资源: 44
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率