当前位置: 首页 > article >正文

C 语言都有哪些标准版本?

C 语言都有哪些标准版本?

    • 1. **C89 (ANSI C)**:
    • 2. **C90 (ISO C)**:
    • 3. **C99**:
    • 4. **C11**:
    • 5. **C18**:
    • 6. **C2X**:

C89、C90、C99 和 C11 是 C 语言的不同标准版本,它们代表了 C 语言在不同时间点的语言规范和标准。以下是它们的详细含义:

1. C89 (ANSI C):

  • 全称:ANSI X3.159-1989
  • 发布年份:1989年
  • 背景:这是美国国家标准协会 (ANSI) 制定的 C 语言标准,也被称为“ANSI C”。它是基于早期的 K&R C(Kernighan and Ritchie C)语言的一个标准化版本。
  • 特性:定义了 C 语言的核心语法、数据类型和标准库函数等基本要素。

2. C90 (ISO C):

  • 全称:ISO/IEC 9899:1990
  • 发布年份:1990年
  • 背景:这是国际标准化组织 (ISO) 发布的 C 语言标准,基本上是对 C89 标准的复制,除了加入了一些额外的细节。
  • 特性:与 C89 标准几乎完全相同,唯一的区别是 C90 标准对 C89 标准做了一些小的改进和澄清。

3. C99:

  • 全称:ISO/IEC 9899:1999
  • 发布年份:1999年
  • 背景:这是 C 语言的第三个标准版本,引入了许多新的特性和改进。
  • 特性:包括对内联函数的支持、可变长度数组、复杂数类型、以及对 C 语言标准库的扩展等。

4. C11:

  • 全称:ISO/IEC 9899:2011
  • 发布年份:2011年
  • 背景:这是 C 语言的第四个标准版本,进一步改进了语言的功能和标准库。
  • 特性:包括对多线程支持(通过 _Atomic_Thread_local 关键字)、对Unicode字符的支持、改进了对编译器诊断信息的支持等。

5. C18:

  • 全称:ISO/IEC 9899:2018
  • 发布年份:2018年
  • 背景:这是对 C11 标准的修订,主要集中在修正错误和澄清规范上,并没有引入重大新特性。
  • 特性:C18 主要对 C11 标准中的一些小问题进行了修正,并没有增加新的语言特性或库功能。

6. C2X:

  • 全称:ISO/IEC 9899:202x(计划中的名称)
  • 背景:C2X 是一个正在进行中的标准化过程,旨在对 C 语言进行进一步的改进和更新,计划成为 C11 的下一版本。
  • 特性:虽然 C2X 还在开发中,但已经计划引入一些新的特性,例如改进的泛型编程支持、扩展的标准库功能等。

总的来说,C 语言的标准化进程旨在不断改进和扩展语言的功能,同时保持向后兼容性。各个版本之间的变化和更新是为了提高语言的表达能力、程序员的开发效率和程序的可靠性。


http://www.kler.cn/a/288732.html

相关文章:

  • HAproxy 详解
  • qt QKeySequence详解
  • HelloMeme 上手即用教程
  • 知识图谱6:neo4j查询语句
  • C++初阶——list
  • 开源vs闭源:你更看好哪一方?
  • @RequestParam对于请求的影响
  • JVM类加载机制与双亲委派模型解析
  • AI大模型之旅-本地安装llm工具dify 和 fastgpt
  • 深度学习100问46:什么是Dropout
  • Unity SceneView 相机聚焦到指定位置
  • C#——XML序列化
  • 利用通义灵码实现我的第一次开源贡献
  • Web服务如何实现一个视频项目架构
  • RCE漏洞
  • Vue 3 中如何对接高德地图
  • goreplay流量重放备忘
  • sqlite3的db.serialize方法:确保数据库操作串行化的利器
  • Autosar OS基础知识导图
  • 根据xml模板导出excel
  • Gitee镜像关联GitHub仓库
  • 【MySQL-24】万字全面解析<索引>——【介绍&语法&性能分析&使用规则】
  • 数据库:实验六存储过程
  • websocket:两台PC间数据传输
  • Leetcode 146. LRU 缓存(Medium)
  • 【知识库系列】MPR/多模态方向观察:图像视频与3D生成