C专家编程(学习笔记)_第1章 C:穿越时空的迷雾

       C诡异离奇,缺陷重重,却获得了巨大的成功——Dennis Ritchie

1.C语言的史前阶段

       C语言的产生竟然源于一个失败的项目,1969年——Multics工程。

       编译器设计者的金科玉律:效率(几乎)就是一切。编译器的效率包括两个方面:运行效率(代码的运行速度)和编译速度(产生可执行代码的速度)。除了一些开发和学习环境之外,运行效率起决定性作用。

2.C语言的早期体验

       根据编译器设计者的思路而发展形成的语言特性:1)数组下标从0而不是1开始;2)C语言的基本数据类型直接与底层硬件相对应;3)auto关键字显然是摆设;4)表达式中的数组名可以看作是指针;5)float被自动扩展为double;6)不允许嵌套函数(函数内部包含另一个函数的定义);7)register关键字。

3.标准I/O库和C预处理器

       字符串替换,头文件包含,通用代码模板的扩展。

4.K&R C

       1978年,C语言经典名著The C Programming Language出版,这个版本的C语言被称为"K&R C"。

5.今日之ANSI C

       1989年12月,C语言标准草案最终被ANSI委员接纳。

6.它很棒,但它符合标准吗

       不可移植的代码:由编译器定义的;未确定的;

       坏代码:未定义的;约束条件;

       可移植的代码:严格遵循标准的1)只使用已确定的特性;2)不突破任何编译器实现的限制;3)不产生任何依赖由编译器定义的或未确定的未定义的特性的输出。

7.编译限制

        每个ANSI C编译器必须能够支持:

        1)在函数定义中形参数量的上限至少可以到达31个;

        2)在函数调用时实参数量的上限至少可以到达31个;

        3)在源代码行里至少可以有509个字符;

        4)在表达式中至少可以支持32层嵌套的括号;

        5)long int的最大值不得小于2 147 483 647(long int不低于32位);

8.ANSI C标准的结构

        语法标准,介绍,环境,语法,描述,约束条件,语义。

9.阅读ANSI C标准,寻找乐趣和裨益

        从源代码中发现更深层、更底层的原理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值