公开课
文章平均质量分 89
iteye_10289
这个作者很懒,什么都没留下…
展开
-
编程范式之栈的抽象操作
首先,我们需要在栈中设置一个抽象的存储结构, void *elem, 其需要动态分配堆内存, 声明如下所示: typedef struct { void *elem; int elem_size; int length; int position; void (*freefn)(void *elem); }Stack; void stackNew(Stack *s...2014-04-22 11:12:29 · 124 阅读 · 0 评论 -
编程范式之rotate操作
我们在考虑数据前后交换的问题时,若middle指针的位置小于中位数,即后方移动的数据多于前方,故需要将前方数据先进行备份,再将后方数据移动至front指针位置,最后将先前备份的数据拷贝回剩余的数据结构中。 这是一种通用的解决方案。着重理解rotate1方法。注意内存位置的移动和计算(核心思想)。memmove方法与memcpy方法相似,不同的是,目标和源 有重叠时,其能够正常工作。 #inc...2014-04-22 22:19:58 · 447 阅读 · 0 评论 -
编程范式之汇编语言
学习,了解汇编语言的工作机制和编写流程,有助于我们对程序的执行有一个比较清晰的认识。 主要的过程就是寻找能够存放数据的内存地址,将数据存放至这个地址之上,取出内存中数据至寄存器,寄存器经过计算后写回内存。 需要清楚的是,调用者知道被调用的函数有几个参数,调用者分配内存空间,而只有被调用的函数知道其内部有几个局部变量,函数分配内存空间。 ...2014-05-07 23:14:34 · 163 阅读 · 0 评论 -
编程范式之字符和基本类型
在C/C++中,有以下基本类型 bool 表示真假 char 表示了256个字符 以下三个类型,表示scalar numbers(任意标量值) short(2 bytes),int(4 bytes),long(4 bytes) 以下两种类型,表示arbitrarily precise numbers(任意精度值),用它们所表示的字节数尽可能的表示任意精度值。 f...原创 2014-08-29 00:44:59 · 162 阅读 · 0 评论