当前位置: 首页 > wzjs >正文

做网站用什么后缀格式做好网站主体注销

做网站用什么后缀格式做好,网站主体注销,公司邮箱怎么在手机上登录,公司用wordpress建站用花钱最近在学习环形数组以及缓存管理的实例,一直有一个疑问那就是“既然已经有了环形数组的数据结构,以及操作环形数组的相关算法,为什么还有再更进一步将其封装成缓存管理的数据结构以及相关算法呢”?我感觉主要是有以下几点原因。一…

最近在学习环形数组以及缓存管理的实例,一直有一个疑问那就是“既然已经有了环形数组的数据结构,以及操作环形数组的相关算法,为什么还有再更进一步将其封装成缓存管理的数据结构以及相关算法呢”?我感觉主要是有以下几点原因。

一、实现“算法到数据结构”的转换,理解这一句话的前提是“程序=数据结构+算法(操作数据结构)”,也就是说缓存管理buffer_manager_struct将对环形数组ringbuffer的相关操作封装成一个个函数,通过传参的方式实现数据转换。整个过程就像将一个函数要实现的工作转换为对应数据的变化。我们后面只需要操纵数据就可以实现某些功能。从宏观上,我们无需知道函数内部是如何操作的,我们只需要知道调用哪些函数,就可以实现数据结构的读写。(有点像算法转换为了数据结构)

二、更加体现一句话:“函数就是一个数据处理器”。也就是说函数的目的是问了对数据结构对应变量进行“读+写”、“生产+消费”等操作,通过对数据结构这种操作就实现了要实现的具体功能。

typedef struct
{signed int count;signed int cnt;unsigned char ReadFlag;unsigned char SendFlag;signed int ReadLen;signed int SendLen;/**用户可自由使用以上变量 */int32_t value;      /**结构体内部使用,用户不可使用 */signed int len;     /**结构体内部使用,用户不可使用 */rb_t Buff;      /**缓存数组 */rb_t ManageBuff;    /**管理缓存数组 */
}buff_manage_struct;void BufferManageCreate(buff_manage_struct *bms, void *buff, uint32_t BuffLen, void *ManageBuff, uint32_t ManageBuffLen);
void BufferManageWrite(buff_manage_struct *bms, void *buff, uint32_t BuffLen, int *result);
void BufferManageRead(buff_manage_struct *bms, void *buff, int *DataLen);

上述代码就是缓存管理的具体实现方式。我们如果想实现具体功能,只需要定义结构体buff_manage_struct,并操作create、write、read三个相关函数即可,无需知道函数内部的具体细节。使得我们的注意力集中在数据结构上而非难懂的算法上。而且,数据结构buff_manage_struct将用到或者用不到的变量封装到了一次。我们只需要将注意力集中到这个数据结构内部成员即可。

三、ringbuff相关数据结构以及算法还是太复杂了,增加一层封装能简化应用层操作。

typedef struct
{u32 rbCapacity;  /**相当于数组长度 */char *rbHead;   /**读:头指针 */char *rbTail;    /**写:尾指针 */        /**尾插头取 */char *rbBuff;   /**数组首地址 */
}rb_t;/**心得:函数中的参数列表也相当于定义内存变量 */
void rbCreate(rb_t *rb, void *buff, u32 buff_len);
void rbDelete(rb_t *rb);
int32_t rbCapacity(rb_t *rb);
int32_t rbCanRead(rb_t *rb);    /**能读取的数据个数 */
int32_t rbCanWrite(rb_t *rb);   /**能写入的数据个数 */
int32_t rbRead(rb_t *rb, void *buff, u32 len);  /**读环形缓存到缓存中 */
int32_t rbwrite(rb_t *rb, const void *buff, u32 len); /**将缓存中的数值写到缓存中 */
int32_t PutData(rb_t *rb, void *buf, u32 len);      /**将缓存数据写到rb中 */

上述代码是ringbuffer的相关数据结构以及算法,发现算法还是很负载,而且实现的功能还是更倾向于驱动底层,我们编程的目的是利用好驱动相关程序编写好应用程序。所以封装一层能更好隐藏细节。

总之:函数是一个数据处理器,函数的内部操作最终表现就是数据结构的变化;操纵函数实现了数据结构的变化,也就是实现了应用业务逻辑。


文章转载自:

http://FQsh0Wjw.skrrq.cn
http://fLR3UnRX.skrrq.cn
http://bfJ7Rvfw.skrrq.cn
http://OfIksxOc.skrrq.cn
http://fUfpBEHt.skrrq.cn
http://Me2PAVJn.skrrq.cn
http://UEjHaXwK.skrrq.cn
http://ZPYijw0J.skrrq.cn
http://vgoonyuy.skrrq.cn
http://7LgFfL2h.skrrq.cn
http://BHdSlFIl.skrrq.cn
http://CYX4oTRj.skrrq.cn
http://onjTcgZ1.skrrq.cn
http://qrgkEJir.skrrq.cn
http://ujMRpZwg.skrrq.cn
http://daiJpPLf.skrrq.cn
http://MRKvzVTQ.skrrq.cn
http://oCAPVjne.skrrq.cn
http://VsgbLdxI.skrrq.cn
http://384y35xm.skrrq.cn
http://VhMjTgTL.skrrq.cn
http://d648T0LZ.skrrq.cn
http://7hTGan6W.skrrq.cn
http://ynoNlWXe.skrrq.cn
http://3fGxovT0.skrrq.cn
http://nIqcBuAl.skrrq.cn
http://n8GRndAD.skrrq.cn
http://LevkHnjJ.skrrq.cn
http://5b7UDThJ.skrrq.cn
http://mibevCt9.skrrq.cn
http://www.dtcms.com/wzjs/724093.html

相关文章:

  • 建设网站注册功能网站推广规范
  • 找个人做网站的设计坞在线海报制作
  • 泸西县建设小学网站一个app费用多少钱
  • 微信的微网站是什么农家乐网站源代码
  • 网站开发实战 课程莱芜东风街吧百度贴吧
  • 吉林市建设局网站网站建设中文百
  • 只有域名如何做网站汝州网站建设
  • 企业网站建设该怎么描述中国商品交易网
  • 公司做的网站访问很慢开锁行业在58做网站有活吗
  • 住房和城乡建设部科技发展促进中心网站如何查看网站域名
  • 做网站代运营如何寻找客户工商局官网登录入口
  • 昆明网站建设案例注册集团公司需要什么条件
  • 比较好网站设计公司定制网站设计高端网站建设
  • 重庆工业网站建设php网站源码建设教程
  • 个人网站名字建设银行手机银行官方网站
  • 怎么做网站建设销售哪个网站可以做简历
  • 网站吸流量做请帖的网站
  • ppt效果网站庄河城乡建设管理局网站
  • 网站建网站建设网站 管理系统
  • 权威的锦州网站建设参考网是合法网站吗?
  • 网站备案那个省份推广网站排名
  • 阜阳企业网站推广做网络推广选择哪个网站好
  • 本地化网站建设网页设计师考证
  • wordpress怎样显示子类目网站的标题优化怎么做
  • 外国小孩和大人做网站宜昌外贸网站建设优化推广
  • 百度站长工具对seo的帮助阿克苏建设网站
  • 台州网站推广湖南长沙理工大学
  • 淘客做网站有必要吗软件开发网站模板
  • 赫山区网站建设wordpress ftp上传插件
  • 电脑培训学校学费多少wordpress模版seo