ANSIC C99标准详解
5星 · 超过95%的资源 需积分: 15 31 浏览量
更新于2024-07-28
收藏 1.24MB PDF 举报
"ANSIC C99标准是C语言的一个重要版本,由国际标准化组织(ISO)和国际电工委员会(IEC)联合发布,其正式名称为ISO/IEC 9899:1999。这个标准对C语言的语法、类型系统、内存管理、输入/输出等多个方面进行了规范,旨在提高代码的可移植性和一致性。C99标准引入了许多新特性,如新的数据类型、复合类型的兼容性、增强的预处理器和更严谨的类型转换规则等。"
ANSIC C99标准详细说明:
1. **范围** (Scope): C99标准定义了C语言的语法、语义和实现的最低要求,适用于所有的C语言编译器和程序设计。
2. **规范引用** (Normative references): 标准中引用的相关规范是理解C99语言特性的关键,这些规范可能包括其他标准、技术报告或文档。
3. **术语、定义和符号** (Terms, definitions, and symbols): C99标准中定义了各种编程概念和术语,确保开发者之间有共同的理解。
4. **符合性** (Conformance): 这部分规定了编译器和程序如何符合C99标准,包括不同的符合级别和扩展的使用。
5. **环境** (Environment): 描述了C程序运行时的环境,包括翻译环境(Translation environment)和执行环境(Execution environments)。翻译环境涉及源代码到可执行代码的转换,而执行环境关注程序实际运行时的条件。
- **概念模型** (Conceptual models): 提供了两种基本的执行模型,即宿主环境和自由站立环境,分别对应于嵌入式系统和独立操作系统。
- **字符集** (Character sets): 规定了字符编码和字符集,比如ASCII和宽字符集。
- **字符显示语义** (Character display semantics): 描述了字符在终端或其他输出设备上的表现。
- **信号和中断** (Signals and interrupts): 说明了如何处理系统信号和程序中断。
- **环境限制** (Environmental limits): 定义了诸如文件大小、内存限制等硬件和软件的限制。
6. **语言** (Language): 这部分是标准的核心,详细规定了C语言的各个方面:
- **记号** (Notation): 描述了C语言中的符号和语法结构。
- **概念** (Concepts): 包括标识符的范围、链接性、命名空间、对象的存储持续时间、类型系统以及类型表示。
- **类型** (Types): 引入了新的数据类型,如`_Bool`、`complex`和`stdint.h`中的固定宽度整型。
- **类型表示** (Representation of types): 解释了如何在内存中表示不同类型的数据。
- **兼容类型和复合类型** (Compatible type and composite type): 规定了不同类型的兼容性和结构体、联合体等复合类型的行为。
- **转换** (Conversions): 包括算术运算符和其他运算符的类型转换规则,确保数据在操作之间的正确转换。
- **词法元素** (Lexical elements): 涵盖关键字、标识符、通用字符名、常量、字符串字面量和标点符号的定义。
- **头文件名** (Header names): 介绍了标准库和用户自定义头文件的使用。
C99标准的引入,不仅提升了C语言的现代性和灵活性,也使得代码更易于维护和跨平台移植。例如,新的数据类型增强了对精度和大小的控制,增强的预处理器允许宏定义更复杂的逻辑,而复数运算则为科学计算提供了支持。这些改进使得C99成为现代C编程的基础。
2010-08-13 上传
170 浏览量
113 浏览量
162 浏览量
169 浏览量
2008-03-04 上传
190 浏览量
chard_fight
- 粉丝: 0
- 资源: 18
最新资源
- CStrAinBP:2 个单元格串的重叠元素。 比 INTERSECT/ISMEMBER/SETDIFF 快 10-20 倍。-matlab开发
- SecKill-System:一个秒杀抢购项目:分别提供MySQL乐观锁,Redis分布锁和ZooKeeper分布锁共3种方案
- rt-thread-code-stm32f103-yf-ufun.rar,yf-ufun STM32F103 是优凡
- Gra_w_zgadywanie_liczb_2
- shuaishuai-book
- KaanBOT:KaanBOT是一款适度有趣的不和谐机器人
- ARFlower:AR花
- 建筑公司项目部施工管理制度汇编(流程图、岗位职责)
- 实现reload按钮效果源码下载
- PDFBookmark-1.0.2-final.zip
- 行间拖拽插件
- SFACC:阿西西圣法兰西斯天主教会加拉迪玛瓦网站
- CAD图块素材之电视背景墙、玄观、书柜详图
- API:GitHub上Viva Wallet开源项目的索引
- chokidar-cli:快速的跨平台cli实用程序,可监视文件系统的更改
- book_project