10 2013 档案
摘要:概述 Linux信号机制是在应用软件层次上对中断机制的一种模拟,信号提供了一种处理异步事件的方法,例如,终端用户输入中断键(ctrl+c),则会通过信号机制停止一个程序[1]。 这其实就是向那个程序(进程)发送一个SIGINT信号。每个进程都有一个自己私有的信号处理函数映射表,当该进程成收到一个信号时,对应的信号处理函数被触发执行。而一个进程可以向另外一个进程发送信号,也可以向自己发送信号;操作系统内核也可以向一个进程发送信号,以通知某些硬件事件。信号处理函数映射表中共有64个表项。前32个信号,编号为1 ~ 31,有预定义的含义和处理函数;后32个作为扩充[2]。在终端输入命令“...
阅读全文
摘要:函数指针的定义格式 (*)() 例如:int f(int);int (*pf)(int) = &f; pf是一个函数指针,它能够指向的是参数为int类型并且返回值为int类型的函数 2. 也可以用typedef为函数指针类型取一个名字,然后再用该函数指针类型来定义指针变量: typedef (*)()。typedef double (*PF)(double);PF pf; 第一行是对一个函数指针进行了定义声明,声明了一个具有double返回值,并且参数是double类型的函数指针。以后就可以用PF来声明其它的相同类型的函数指针。函数指针的用途转换表(jump table)作为参数传..
阅读全文
摘要:Const 的使用读书笔记Const的主要主要用法有:常变量: const 类型说明符 变量名常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数: 类名::fun(形参) const 常数组: 类型说明符 const 数组名[大小] 常指针: const 类型说明符* 指针名 ,类型说明符* const 指针名常变量 例如:const int a; 或 int const a; 在c语言中声明时必须进行初始化,C++中则没有这个限制。C 标准中,const 定义的常量是全局的,C++中视声明位置而定。指针常量和常量指针 const int...
阅读全文
摘要:问题描述: 我们有n种物品,物品j的重量为wj,价格为vj。我们假定所有物品的重量和价格都是非负的。背包所能承受的最大重量为W。如果限定每种物品只能选择0个或1个,则问题称为0-1背包问题。[1] 解题思路: 最终的目标是在总重量不超过W的前提下,总价值最高。在总重量不操作Y的前提下,我们可以将前j种物品的总价值所能达到的最高值定义为value[j][Y];那么就会有: value[0][Y] = 0; //Y=[0,1,2,...,W] value[j][0] = 0; //j=[1,2,...,n] 如果Wj > Y, value[j]...
阅读全文
摘要:今天上课的时候,老师给我们详细的讲了函数指针的用法。记得大一的时候上C语言的时候,只知道有函数指针这个概念,但是后来都一直没用到。但好像也有用到,每次在编程时,调用c库的qsort函数的时候,可以看到qsort的最后一个参数就是个函数指针,但是当时都不怎么的在意,就知道怎么用就可以了。今天在老师系统的讲之后,以后再遇到的话,应该就没有问题!今天下课回来后,我也去翻了下《c专家编程》和《C和指针》这两本书,发现C和指针里面在高级指针话题那章有讲到函数指针,并且也讲到了他们的应用----回调函数和转移表。由于时间关系,下次再仔细的看看吧。不过我发现这两本书还是非常的好!对于C语言的进阶非常有帮..
阅读全文
摘要:这里我只贴出各种排序算法的代码,或者简单的说明,以备日后复习。 今晚又把归并排序和快速排序实现了一遍,不要担心做重复的工作,只有把简答的工作做得很好,那么你才有能力去承担更好的工作。虽然说已经写了好多次了,但是每次都能发现自己的问题。 首先是归并排序,实现过程很简单,但是在最后竟然忘记把malloc的空间给free掉。。这是很危险的事情啊! 还有就是快速排序,快速排序的思想是任意选一个数,然后以它为基准,把这个数组划分成左右两部分,右边部分是小的,左边部分是大的。但是当选出一个数后应该怎么对整个数组进行划分呢?这个绞尽脑汁也没想出来。。╮(╯▽╰)╭。。。原来是把标准与最后一个数交换,然...
阅读全文