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

C 语言的历史和版本

C 语言的历史

1972年,贝尔实验室的 Dennis Ritchie 在开发 UNIX 操作系统时设计了 C 语言。C 语言是在 B 语言的基础上设计的。

C 语言的版本

K&R C

K&R C 也叫 经典 C,以《The C Programming Language》【Brain Kernighan,Dennis Ritchie】(1987)(第 1 版)作为 C 的标准,取两个作者的姓的第一个字母称为 K&R 标准。书的附录中定义了 C 语言,未定义 C 库,以 UNIX 实现提供的库作为标准库。

C89

C89 即 ANSI C,由 ANSI(美国国家标准局,American National Standards Institute)制定并批准,于 1989 年正式公布。

后来 ANSI 把这个标准提交到 ISO(国际化标准组织,International Organization for Standardization),1990 年被 ISO 采纳为国际标准,称为 ISO C。又因为这个版本是 1990 年发布的,因此也被称为 C90。

ANSI C(C89)与 ISO C(C90)内容基本相同,主要是格式组织不一样。

ANSI C,ISO C,C89,C90,ANSI/ISO C,C89/90 这些称谓都是一样的,都指的是同一个标准。

这个标准定义了 C 语言和 C 标准库。

目前常用的编译器都支持 ANSI C 的内容

C99

1994 年 C 程序设计语言工作组对 C 语言进行了一些修改,增加了新的关键字,编写了新的库,取消了原有的限制,并于 1999 年形成新的标准 —— ISO/IEC 9899:1999 标准,通常被称为 C99。

GCC 支持 C99,微软的编译器只支持部分 C99 的特性

ANSI C 规定,局部变量要在块的开头定义,而 C99 取消了这个限制,变量可以在使用该变量之前的任意位置定义。

C11

C11 标准由国际标准化组织(ISO)和国际电工委员会(IEC)旗下的 C 语言标准委员会于 2011 年底正式发布。

支持 C11 标准的编译器有 GCC,LLVM/Clang,Intel C++ Compile 等。

微软的编译器不支持 C11。

C11 标准主要增加了以下内容:

  • 增加了安全函数,例如 gets_s()fopen_s() 等;

  • 增加了头文件以支持多线程;

  • 增加了头文件以支持 Unicode 字符集;

  • 以及其它一些细节。

http://www.wxhsa.cn/company.asp?id=3766

相关文章:

  • PostgreSQL 上的向量搜索实践
  • 【数据结构——图与邻接矩阵】 - 实践
  • (读书笔记)平衡掌控者
  • 带头结点的单链表删除指定位置结点
  • 《文字、语言与数字的奇妙联结》读后感,大公司内部编码规范,本学期编码遵守规范
  • [HTTP/Spring] RestTemplate : Spring的HTTP网络请求框架
  • 深入解析:Linux使用-MySQL的使用
  • 博客园-我的博客-的皮肤更换
  • Apache Commons Math3 使用指南:强大的Java数学库 - 教程
  • HarmonyOS图形处理:Canvas绘制与动画开发实战
  • script setup 在 Vue 3 中的核心作用及具体实现方式
  • 0voice-1.4.1-cmake
  • test test test
  • 容器化改造基本原理
  • Blogroll 友链
  • Java 字节码与 ASM 框架实战解析
  • 计算机大数据毕业设计选题:基于Spark+hadoop的全球香水市场趋势分析系统 - 详解
  • Dos的常用命令
  • 持续集成自动化CI/CD
  • Lightroom Classic 2025(LRC 2025)安装教程(附直接安装包下载)+入门操作指南
  • 2025/09/14 【二叉树11】完全二叉树的节点个数
  • 8888
  • 接口限流代码 - 实践
  • OutGuess 安装与问题排查指南(Kali Linux 环境)
  • 拓展操作码举例
  • TryHackMe | Cicada-3301 Vol:1
  • 完整教程:Word添加图/表题注
  • [MCP][01]简介与概念
  • CF819B Mister B and PR Shifts
  • 第一次自我介绍