编程
nxpzmj
这个作者很懒,什么都没留下…
展开
-
一种有限状态机的C语言实现
状态机的原理就不说了,先给出状态机的转换图,很简单实现的思路是这样的:1、用函数指针表示状态(状态函数)。2、状态函数接受一个参数(event),并根据event决定下一个状态。3、状态函数返回一个函数指针,此函数指针的类型也是状态函数指针。即状态函数返回一个指向下一个状态函数的指针。4、由于返回值是和原函数相同类型的函数指针,要原创 2012-08-13 16:07:39 · 2453 阅读 · 0 评论 -
程序员怎样学数学
一篇非常好的文章,关于编程和数学的关系,让人茅塞顿开。原文地址http://article.yeeyan.org/view/2108/2365 作者:方泥以下是原文--------------------------------------我是快乐的原文分割线----------------------------------------I've been work转载 2012-09-21 22:08:51 · 2089 阅读 · 0 评论 -
VC中一个堆破坏的例子
最近调试一个代码,原本运行的不错,在增加一些功能后突然出现了堆破坏的错误。由于并没有动态链接第三方的dll,所以问题无非是指针越界之类的,但是检查了很久之后并没有发现越界的指针,百思不得其解。今天只得回溯版本,一步一步添加代码调试。最后发现问题原来是一个手误output_queue_t* node2_output = (output_queue_t*)calloc(node2_output原创 2013-05-22 12:57:15 · 1067 阅读 · 0 评论 -
如何写一个递归程序
总是听到大大们说递归递归的,自己写程序的时候却用不到递归。其中的原因,一个是害怕写递归,另一个就是不知道什么时候用递归。这篇文章就浅析一下,希望看完之后不再害怕递归,这就是本文最大的目的。递归到底有什么意义?在说怎么写递归之前必须要说一下它的意义,其实这就是为什么大多数人在看了许多递归的例子后还是不明所以的原因。可以肯定的是,递归是个十分强大的工具,有许多算法如果不用递归可能非常难写。原创 2013-07-31 11:26:52 · 6132 阅读 · 1 评论 -
Linus:利用二级指针删除单向链表
(转载本站文章请注明作者和出处 酷壳 – CoolShell.cn ,请勿用于任何商业用途)感谢网友full_of_bull投递此文(注:此文最初发表在这个这里,我对原文后半段修改了许多,并加入了插图)Linus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core转载 2013-08-02 13:17:34 · 746 阅读 · 0 评论 -
错误0xC0000005一例
这是一个非常常见的错误,常见的原因是访问了非法的指针或者意外改变了内存,从而导致之后的访问出现这个错误。 fifo_t* fifo = (fifo_t*)malloc(sizeof(fifo));这是问题出现的位置。 fifo_t* fifo = (fifo_t*)malloc(sizeof(fifo_t));这是正确的语句两者只是不小心将fifo_t错写成原创 2014-01-21 17:44:45 · 2192 阅读 · 0 评论