我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

如何写好C代码之ssc网站架设-创新互联

对应于面向对象语言的构造函数注入,ssc网站架设【企鹅21717-93408】C语言作为过程语言,参数注入法是最简单、也是最直接的方法。最常见的排序方法qsort就是用这种方法:

创新互联凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了成都网站建设、成都做网站服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。

void qsort(void base, size_t num, size_t size, int (compar)(const void,const void));
可以看到qsort函数的第四个参数compar就是外部依赖的对象(函数),因为不同场景有不同的比较元素大小的方式,通过参数将外部依赖注入,使该函数更加具有通用型,因为实际上我们用qsort,只是用他的排序算法,其他的都是和具体使用场景有关。

设置(set)接口注入
上一篇我们介绍的设置回调函数的方法其实就是使用这种方法,其本质就是专门对外提供一个接口,用来将依赖的外部对象或者函数注入到本模块中来。比如开发一个模块,需要申请内存,但是为了易用性,除了使用系统自带的内存申请函数,我们需要支持第三方的内存池模块来申请内存,我们就可以提供一个API来设置申请和释放内存的函数,如下示例:

///默认申请内存方式为系统自带的函数
static void (malloc_function)(size_t size) = malloc;
static void (free_function)(voidp) = free;

int sample_module_init()
{
return 0;
}

///设置新的分配内存的函数
int sample_module_set_memory_api(void (get)(size_t size), void(put)(voidp))
{
malloc_function = get;
free_function = put;

return 0;

}

///申请一个size大小的int类型数组
int sample_module_create_int_array(size_tsize)
{
int p = (int)malloc_function(sizeof(int) * size);
return p;
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站栏目:如何写好C代码之ssc网站架设-创新互联
分享URL:http://mswzjz.cn/article/goopj.html

其他资讯