打印
[开发资料]

ANSI C 与 K&R C

[复制链接]
176|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2025-3-24 21:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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语言走向完善、走向成熟。

使用特权

评论回复
沙发
tpgf| | 2025-4-9 15:53 | 只看该作者
K&R C:关键字相对较少,没有“void”、“const”、“volatile”、“signed”、“enum”等关键字

使用特权

评论回复
板凳
AdaMaYun| | 2025-4-12 21:54 | 只看该作者
ANSI C标准化工作的一个主要目标是清除原来C语言中的不安全、不合理、不精确、不完善的东西。

使用特权

评论回复
地板
xiaoqizi| | 2025-4-13 20:45 | 只看该作者
ANSI C:在K&R C的基础上增加了多个关键字,如“void”、“const”、“volatile”、“signed”、“enum”等,同时抛弃了老关键字“entry”

使用特权

评论回复
5
木木guainv| | 2025-4-14 08:04 | 只看该作者
K&R C数据类型相对简单,没有明确区分有符号字符和无符号字符,也没有整数的后缀表示方法

使用特权

评论回复
6
Jiangxiaopi| | 2025-4-14 11:07 | 只看该作者
ANSI C明确了字符的带符号和不带符号属性,引入了整数的后缀字符、浮点数的后缀字符,并且丢弃了“long float”

使用特权

评论回复
7
荣陶陶| | 2025-4-14 14:08 | 只看该作者
ANSI C规定连续出现的字符串常量将被拼接在一起,方便了字符串的处理和操作

使用特权

评论回复
8
Zhiniaocun| | 2025-4-14 17:12 | 只看该作者
ANSI C引进了包含参数类型的函数原型概念,要求函数在使用前必须进行原型声明,以便编译器进行类型检查和优化,提高了代码的可读性和可靠性

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

318

主题

2511

帖子

6

粉丝