摘要: fflush 是 C 标准库提供的函数,对输入输出流起作用,起作用的是C标准库管理的用户空间文件缓存。对输出流来说,会使用系统提供的写文件系统调用(write)把标准库缓存的数据写入文件,fflush并不能保证数据真正的写入文件系统。对输入流来说,会把从可寻址的文件读入标准库缓存的数据给清洗掉。 s 阅读全文
posted @ 2018-03-20 17:49 宁阳 阅读(4339) 评论(0) 推荐(1) 编辑
摘要: 通常来说,函数中的局部变量在函数调用结束的时候不能再被引用,所分配的空间也会被回收。 但是通过闭包这种技术,函数调用结束了,它的局部变量的值还可以保存在闭包里。 试举一例: 在函数make_adder中n就是一个局部变量,但是通过调用make_adder,它返回了一个闭包,在这个闭包里会保存n的值。 阅读全文
posted @ 2018-02-26 11:10 宁阳 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 在仔细研究这个问题之前,我认为 C 程序在内存中只有代码段,堆和栈三部分构成。前几天面试被问到了这个问题,才发现自己的印象是不完全的。 在本文中通过解析析一个 C 程序中变量和函数的地址来分析 C 程序在内存中的布局。 首先简单介绍一下Linux上C程序的内存分布。 一般情况下从低地址到高地址分布着 阅读全文
posted @ 2018-01-05 13:21 宁阳 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 1. Hacker News https://news.ycombinator.com/news 阅读全文
posted @ 2018-01-02 17:22 宁阳 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 平时看的东西不少,可牢牢记在心里的却不多。 经常性的有人提到一个概念,我知道说的是什么,可是它的精确定义是什么却不清楚。比如说二叉搜索树,我知道节点之间的关系,但是让我确定左子树的所有元素是严格小于当前节点的值还是小于等于当前节点的值,我却不能。还有对红黑树有一个模糊的印象,知道它是一种二叉平衡搜索 阅读全文
posted @ 2018-01-02 17:20 宁阳 阅读(202) 评论(0) 推荐(0) 编辑