【读书摘录】
Mike江
A goal is not always meant to be reached, it often serves simply as something to aim at. ──Bruce Lee
目标不一定是需要达到的,目标往往只是用来帮助你瞄准方向。──李小龙
展开
-
《C和指针》:存储类型
存储类型变量的存储类型是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保持多久。有三个地方可以用于存在变量:普通内存、运行时堆栈、硬件寄存器。变量的缺省(默认)存储类型取决于它的声明位置。凡是在任何代码块之外声明的变量问题存储于静态内存中,也就是不属于堆栈的内存,这类变量称为静态变量。对于这类变量,你无法为它们指定其他存储类型。静态变量在程序运行之前创建,在程序的整个执转载 2017-04-11 14:26:58 · 1362 阅读 · 0 评论 -
《C陷阱与缺陷》:如何理解(*(void(*)())0)()?
有一次,一个程序员与我交谈一个问题。他当时正在编写一个独立运行于某种微处理器上的C程序。当计算机启动时,硬件将调用首地址为0位置的子例程。为了模拟开机启动时的情形,我们必须设计出一个C语句,以显式调用该子例程。经过一段时间的思考,我们最后得到的语句如下:(* ( void(*)() ) 0) ();像这样的表达式恐怕会令每个C程序员的内心都“不寒而栗”。然而,他们大可不必对此望而生畏,因为构造这类表转载 2017-04-04 10:38:25 · 21569 阅读 · 0 评论 -
《C陷阱与缺陷》:缓冲输出和内存分配
程序输出有两种方式:一种是即时处理方式,另一种是先暂存起来,然后再大块写入的方式,前者往往造成较高的系统负担。因此,C语言实现通常都允许程序员进行实际的写操作之前控制产生的输出数据量。这种控制能力一般是通过库函数 setbuf 实现的。如果 buf 是一个大小适当的字符数组,那么: setbuf(stdout,buf);语句将通知输入/输出库,所有写入到 stdout 的输出都应该使用 buf 作为翻译 2017-04-06 15:16:09 · 12644 阅读 · 0 评论 -
学校的作用
本文转自:http://www.ljsw.cc/thread-185146-1-1.html你有没有想过一个问题——学校的教学形式为什么都是老师在上面讲,学生围坐在下面听?这种形式,从小学到大学,从古至今,从中国的孔夫子到古希腊雅典的学园,都是这样。那这种形态的学校,为什么到今天还没有消失呢?在古代,孔夫子或者雅典学园时代,教育当然只能采取这种形式。那时候,师生之间传播信息几乎只有老师当面讲授这一个转载 2017-07-05 18:36:08 · 1242 阅读 · 1 评论 -
《C陷阱与缺陷》:更新顺序文件
许多系统中的标准输入/输出库都允许程序打开一个文件,同时进行写入和读出的操作:FILE * fp; fp = fopen(file, "r+"); 上面的例子代码打开了文件名由变量 file 指定的文件,对于存取权限的设定表明程序希望对这个文件进行输入和输出操作。编程者也许认为,程序一旦执行上述操作完毕,就可以自由地交错进行读出和写入操作。遗憾的是,事实总是难随人愿,为了保持与翻译 2017-04-06 15:02:59 · 1936 阅读 · 0 评论