本文转载自:C–K&R C 与 ANSI C的区别

转载的原因在于后面我的C博文也需要这个区分。


C语言由Dennis M. Ritchie在1973年设计和实现。从那以后使用者逐渐增加。到1978年Ritchie和Bell实验室的另一位程序专家Kernighan合写了著名的《The C Programming Language》,将C语言推向全世界,许多国家都出了译本,国内有一些C语言书就是这本书的翻译或者编译。由这本书定义的C语言后来被人们称作 K&R C。 
随着C语言使用得越来越广泛,出现了许多新问题,人们日益强烈地要求对C语言进行标准化。这个标准化的工作在美国国家标准局(ANSI)的框架中进行(1983-1988),最终结果是1988年10月颁布的ANSI标准X3.159-1989,也就是后来人们所说的ANSI C标准。由这个标准定义的C语言被称作ANSI C。 
ANSI C标准很快被采纳为国际标准和各国的标准。国际标准为ISO/IEC 9899-1990,中国国家标准GB/T 15272-94是国际ISO标准的中文翻译。 
ANSI C标准化工作的一个主要目标是清除原来C语言中的不安全、不合理、不精确、不完善的东西。由此也产生了ANSI C与K&R C之间的差异。从总体上看,这些差异反应的是C语言走向完善、走向成熟。


转载自:C语言的标准(K&R C,ANSI C,C89,C90,C99)

0、C语言,1973年由Dennis M. Ritchie设计和实现。
1、K&R C。1978年由Kernighan和Ritchie合写的书《The C Programming Language》,形成了C语言的事实的标准,简称为K&R C。
2、ANSI CC89C90)。1989年,美国国家标准局(ANSI)颁布了第一个官方的C语言标准(X3.159-1989),简称为ANSI C或C89;1990年,它被国际标准化组织(ISO)采纳国际标准(ISO/IEC9899:1990),简称为C90。这个标准是目前广泛使用并完全支持的。
3、C99。199年,ISO/ANSI又推出了新的标准(ISO9899:1999),简称C99。这个标准目前支持的可能还不太全面。


转载自:C99标准的新特性

2011年12月8号,ISO 发布了新的 C 语言的新标准——C11,之前被称为C1X,官方名称 ISO/IEC 9899:2011。


具体改了那些内容,参见原博文。

【 C 】KR C 与 ANSI C的区别(KR C,ANSI C,C89,C90,C99)(C11)相关推荐

  1. C语言标准 C89/C90/C99/C11之间的区别

    C89.C90.ANSI C通常指的是同一个C语言标准.1989年,美国国家标准协会(ANSI)推出C语言和C标准库的标准. 该标准通常被称为ANSI C.由于该标准是1989年推出的,因此也被称为C ...

  2. C语言关键字 ISO/ANSI C90 C99 C11

    面试考点 https://blog.csdn.net/csdn_kou/article/details/81113215 * 有的常用的我们都不知道是关键字,比如sizeof.这是面试中的考点,要注意 ...

  3. 字符编码 ansi unicode utf-8 区别

    简介 为使计算机支持更多语言,通常使用 0x80~0xFFFF 范围的 2 个 字节来表示 1 个字符.比如:汉字 '中' 在 ANSI编码 中文操作系统中,使用 [0xD6,0xD0] 这两个字节存 ...

  4. ANSI C、C89、C99和C51的区别

    ANSI C.C89.C99和C51的区别 什么是ANSI C.ISO C.C89.C90标准? 随着C语言使用得越来越广泛,出现了许多新问题,人们日益强烈地要求对C语言进行标准化.1983年,美国国 ...

  5. C语言规范:C89、C90、C95、C99及C89和C99区别

    [K&R C] 1978 年,Dennis Ritchie 和 Brian Kernighan 合作推出了<The C Programming Language>的第一版(按照惯例 ...

  6. c语言变量定义位置区别,C语言中变量定义的位置(C89和C99的区别)

    C语言中变量定义的位置(C89和C99的区别) 在C++和JAVA中,按照语法,我们可以把变量定义在任何位置,所以很多人习惯了"哪里使用哪里定义"的这种做法,所以当用C语言进行编程 ...

  7. CLion怎么指定编译时使用C语言标准(C89/C90/ANSI C、C99、C11、C17/C18)?

    文章目录 一.起因 二.解决办法 三.相关文章 一.起因 下载的CLion没有自带gcc编译器,需要自己指定,而自己指定的gcc的版本一般都比较高,以我自己Windows电脑上的gcc8.1为例,它默 ...

  8. 字符编码ANSI和ASCII区别、Unicode和UTF-8区别

    一.位: 计算机存储信息的最小单位,称之为位(bit),音译比特,二进制的一个"0"或一个"1"叫一位. 二.字节 字节(Byte)是一种计量单位,表示数据量多 ...

  9. 答疑解惑 | Linux GNU C 与 ANSI C 的区别

    关注.星标公众号,直达精彩内容 来源:嵌入式Linux系统开发 Linux 上可用的 C 编译器是 GNU C 编译器,它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布.GNU C对标准C ...

最新文章

  1. 一文读懂对抗生成网络的3种模型
  2. C#操作Excel文件(转)
  3. Shell多线程操作及线程数控制实例
  4. linux mysql删除密码忘记了_linux下忘记mysql密码的几种找回方法(推荐)
  5. 3D Render pictures
  6. android 自定义顶部,Android自定义实现顶部粘性下拉刷新效果
  7. Linux里面nginx显示Hello,Nginx得知——Hello World模
  8. Centos添加supervisor为服务,启动/关闭,设置开机启动服务
  9. springboot中,页面访问不到静态资源
  10. proxytable代理不生效_深圳劳动纠纷律师为你解答劳动合同没有盖章是否生效
  11. linux双括号文本比较,Linux Shell 双括号运算符使用
  12. Vue双向绑定的实现原理系列(三):监听器Observer和订阅者Watcher
  13. Python百度语音合成
  14. SAP 开发陷阱一箩筐(05)——绘制屏幕时无法给单选按钮分组
  15. html 屏幕录像,绝对是最简单的屏幕录像方法!无需安装软件
  16. html 苹果适应,苹果CMS自适应模板(1)
  17. 日本春令营在线比赛第一天总结
  18. 建模师是个好职业吗?
  19. 最爱经典歌曲TOP500
  20. 前端图片渲染性能优化与实践 — 图片懒加载

热门文章

  1. 根据身份证号码导出生日和性别(JavaScript代码)
  2. mysql增加字段默认位置_MySQL语句增加字段,修改字段名,修改类型,修改默认值
  3. 小程序websocket java_微信小程序websocket java获取不到data
  4. win mysql 最大连接_常用的三种修改mysql最大连接数的方法
  5. python简笔画绘制 数据驱动绘图_pytorch visdom可视化工具学习—2—详细使用-2-plotting绘图...
  6. 弹出层,div的写法
  7. openssh漏洞_漏洞预警 | OpenSSH 命令注入漏洞
  8. mysql generator 命令_MyBatis Generator速查手册
  9. 2021年春季学期-信号与系统-第三次作业参考答案-第一道题
  10. 2020年人工神经网络第二次作业-参考答案第八题