编程范式
文章平均质量分 95
Elsa Rong
这个作者很懒,什么都没留下…
展开
-
CS107-Lecture 3-Note
第三次课继续讲内存管理,介绍了double、array,struct,&,*,以及大小端模式。Jerry会用很直观小方框图画出出内存管理图。高级语言里有很多模板,例如二分搜索、线形搜索、归并排序、快速排序等等,当你理解了内存管理的本质,就可以自己实现这些内存管理的范式。double“Whatever bit pattern happened to reside there before is now原创 2017-03-07 09:53:39 · 570 阅读 · 0 评论 -
CS107-Lecture 4-Note
swap接上文,在swap函数中,参数ap和bp用来寻址到内存某两处空间,对空间里的值进行了交换。swap过程的本质,就是交换两处地址中存放的位模式,而且隐式地知道交换的字节大小。如果想让swap具有通用性,交换任意大小的,任意类型的量,可以使用通用类型void *,如Program. 1 返回通用的void * 类型:Program. 1. 返回通用的void*类型void* swap(void原创 2017-03-08 19:09:17 · 618 阅读 · 0 评论 -
CS107-Assignment 1
Random Sentence Generator目瞪狗呆,Assignment 1竟然以介绍Random Sentence Generator开篇。Random Sentence Generator是一个句子随机生成器,和我小时候玩的中文组句的游戏一样,大家做些小卡片,一个人负责写主语,一个人负责写谓语,还有人负责定语、宾语、状语、补语……然后随机的从卡片里抽出主+谓+宾+定+状+补……组成一个句原创 2017-03-11 15:03:36 · 727 阅读 · 1 评论 -
CS107-Lecture 6-Note
int型StackLecture 5讲到用C的语法实现“栈”,并给出了StackNew()的实现。StructNew通过传入结构体s的地址,将某个12字节的内容未知的内存块用来在逻辑上表示一个深度为0的栈: Jerry: and take it from a 12-byte block of question marks to be logically representing a stack原创 2017-05-31 16:56:34 · 744 阅读 · 1 评论 -
CS107-Lecture 7-Note
距离上一次听CS107已经有一个月了,非常尴尬。最近花一周左右时间粗糙看完了《Linux内核设计与实现》,compile custom Linux kernel,又复习了之前课程的笔记,和CS107结合起来,感觉消化了更多。比如书中介绍的(1)内核编程的特点之inline;(2)内核数据结构中对struct、list的使用;(3)malloc、realloc使用时的注意事项,本质上都是CS107中a原创 2017-07-11 14:33:24 · 866 阅读 · 0 评论 -
CS107-Lecture 5-Note
lsearch在Lecture 4和5介绍lsearch的设计过程中,我有一些小感悟:程序设计的问题有很多种答案,优秀的答案不是大笔一挥就跃然纸上的,而是不断地思考完善,不断地根据需求(比如采用的语言,针对的数据类型)优化得到的。言归正传,继续上次课的内容,从针对specific数据类型的lsearch优化得到generic的lsearch,再优化得到generic lsearch中的自定义的com原创 2017-05-02 18:12:53 · 803 阅读 · 1 评论