c

笨办法学C 练习34:动态数组

练习34:动态数组原文:Exercise 34: Dynamic Array译者:飞龙动态数组是自增长的数组,它与链表有很多相同的特性。它通常占据更少的空间,跑得更快,还有一些其它的优势属性。这个练习会涉及到它的一些缺点,比如从开头移除元素会很慢,并给出解决方案(只从末尾移除)。动态数组简单地实现为void 指针的数组,它是预分配内存的,并且指向数据。在链表中你创建了完整

笨办法学C 练习31:代码调试

练习31:代码调试原文:Exercise 31: Debugging Code译者:飞龙我已经教给你一些关于我的强大的调试宏的技巧,并且你已经开始用它们了。当我调试代码时,我使用debug()宏,分析发生了什么以及跟踪问题。在这个练习中我打算教给你一些使用gdb的技巧,用于监视一个不会退出的简单程序。你会学到如何使用gdb附加到运行中的进程,并挂起它来观察发生了什么。在此之

笨办法学C 练习33:链表算法

练习33:链表算法原文:Exercise 33: Linked List Algorithms译者:飞龙我将想你介绍涉及到排序的两个算法,你可以用它们操作链表。我首先要警告你,如果你打算对数据排序,不要使用链表,它们对于排序十分麻烦,并且有更好的数据结构作为替代。我向你介绍这两种算法只是因为它们难以在链表上完成,并且让你思考如何高效操作它们。为了编写这本书,我打算将算法放在

笨办法学C 练习29:库和链接

练习29:库和链接原文:Exercise 29: Libraries And Linking译者:飞龙C语言编程的核心能力之一就是链接OS所提供的库。链接是一种为你的程序天机额外特性的方法,这些特性有其它人在系统中创建并打包。你已经使用了一些自动包含的标准库,但是我打算对哭的不同类型和它们的作用做个解释。首先,库在每个语言中都没有良好的设计。我不知道为什么,但是似乎语言的设

笨办法学C 练习46:三叉搜索树

练习46:三叉搜索树原文:Exercise 46: Ternary Search Tree译者:飞龙我打算向你介绍的最后一种数据结构就是三叉搜索树(TSTree),它和BSTree很像,除了它有三个分支,low、equal和high。它的用法和BStree以及Hashmap基本相同,用于储存键值对的数据,但是它通过键中的独立字符来控制。这使得TSTree具有一些BStree

操作系统思考 第二章 进程

第二章 进程作者:Allen B. Downey原文:Chapter 2 Processes译者:飞龙协议:CC BY-NC-SA 4.02.1 抽象和虚拟化在我们谈论进程之前,我打算先定义几个东西:抽象(Abstraction):抽象是复杂事物的简单表示。例如,如果你开车的话,应该知道车轮向左转的时候车也会向左行驶,反之亦然。当然,方向盘由一系列机械和传动系统所连接,用

浮点型的一个隐性特征

因子 这个论题来自今天我在segmentfault的回复。 有个人问 《C++ Primer》第五版,中文版。p33。 1.999999999999999(比转换之后少是 2 的少个 9) 也是 1。 微软免费 IDE 2015。g++ 好像也一样。 include using namespace std; int main() { double d = 1.9999999

PHP 一个诡异的加法算法的研究

前言之前我在面试的时候,遇到许多年轻人都声称自己精通php,有过许多项目经验等等。然而,当真正笔试的时候,我问到$result=1;if(-1){ $result=2;}echo $result;中,$result最终结果的时候,许多人信誓旦旦的告诉我是1。 试想,这样一个连基本算法都搞不清楚的人,即使有过再多的项目经验,你敢用吗?引申对于算法的一些问题,我个人一向是非常较

A C Programming Language Pule

原文網址,本文不是完全翻譯,而是自己吸收過後,在寫下此筆記 Problem 有一變數a=12,b=36,請寫出一個c function/macro,回傳3612且不使用算數運算和字串處理的函式. Token-Pasting Operator 當擴展## macro時,## 會將左右兩邊的符號(token),合併為一個符號(token). # include # defin

笨办法学C 后记:“解构 K&R C” 已死

“解构 K&R C” 已死原文:Deconstructing K&RC Is Dead译者:飞龙我彻底失败了。我放弃了多年以来尝试理清C语言如何编写的想法,因为它的发明是有缺陷的。起初,我的书中有一章叫做“解构 K&R C”。这一章的目的是告诉人们永远不要假设它们的代码是正确的,或者对于任何人的代码,不管它有多出名,也不能避免缺陷。这看起来似乎并不是革命性的想法,并且对我来