2019独角兽企业重金招聘Python工程师标准>>>

1、common头文件

#ifndef TYPEDEF_H
#define TYPEDEF_H#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>typedef enum
{RET_OK,RET_FAILED,RET_OOM,    //out of memoryRET_INVALIDPARM,
}Ret;#define return_if_fail(p) if(!(p))\{printf("%d, %s,Warning: "#p" failed.\n",\__LINE__, __FUNCTION__); return;}#define return_val_if_fail(p, ret) if(!(p))\{printf("%d, %s, Warning: "#p" failed.\n",\__LINE__, __FUNCTION__); return (ret);}#endif

2、slist头文件

#ifndef SList_H
#define SList_H#include "typedef.h"struct _SList;//隐藏数据结构,实现在内部,是封装的常用做法
typedef struct _SList SList;#ifdef __cplusplusextern "C" {
#endiftypedef void (*SlistDataDestroyFunc) (void *ctx, void* data);
typedef int (*SlistDataCmpFunc) (void* ctx, void* data);
typedef void (*SlistDataVisitFunc)(void* ctx, void* data);SList* slist_create(SlistDataDestroyFunc data_destroy, void* data_destroy_ctx);
Ret slist_prepend(SList* this, void* data);
Ret slist_append(SList* this, void *data);
Ret slist_insert(SList* this, size_t index, void* data);
Ret slist_delete(SList* this, size_t index);
Ret slist_get_by_index(SList* this, size_t index, void** data);
Ret slist_set_by_index(SList* this, size_t index, void* data);
size_t slist_find(SList* this, SlistDataCmpFunc cmp, void* data);
size_t slist_length(SList* this);
void slist_destroy(SList* this);
Ret slist_foreach(SList* this, SlistDataVisitFunc visit, void* data);
SList* slist_reverse(SList* this);#ifdef __cplusplus}
#endif#endif

转载于:https://my.oschina.net/mavericsoung/blog/177350

通用单向链表设计(一)——接口的设计相关推荐

  1. 设计一个接口, 并设计一个实现类实现该接口,演示它们的使用。具体,创建一个名称为Person的接口,在接口中定义两个方法sayHello()和sayBye()。

    设计一个接口, 并设计一个实现类实现该接口,演示它们的使用. 具体,创建一个名称为Person的接口,在接口中定义两个方法sayHello()和sayBye().然后,创建两个实现了Person接口的 ...

  2. APP架构设计经验谈:接口的设计

    APP架构设计经验谈:接口的设计 原创文章,转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160107微信订阅号:k ...

  3. 通用单向链表设计(三)——接口的测试

    2019独角兽企业重金招聘Python工程师标准>>> 接口的测试: /***************test.c**********************/ #include & ...

  4. 软件测试接口测试用例设计

    接口测试用例设计 随着测试分析和分层测试的深化,"接口测试"出现在我们视野的频次越来越高.那么接口测的用例设计常用哪些方法呢?本文将详细描述. 接口测试 1.1  接口测试 接口: ...

  5. 基于FPGA的USB接口控制器设计(VHDL)(中)

    今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇.今天带来第二篇,中篇,USB通信原理.USB 系统开发以及设计实例.话不多说,上货. 之前有关于 Veril ...

  6. (转)接口测试用例设计

    随着测试分析和分层测试的深化,"接口测试"出现在我们视野的频次越来越高.那么接口测的用例设计常用哪些方法呢?本文将详细描述. 1  接口测试 1.1  接口测试 接口:主要是子模块 ...

  7. 【转】接口测试用例设计

    文章图片参考源地址: http://url.cn/5ZM37wg 随着测试分析和分层测试的深化,"接口测试"出现在我们视野的频次越来越高.那么接口测的用例设计常用哪些方法呢?本文将 ...

  8. (转)【腾讯 TMQ】 接口测试用例设计

    导语 这是我在其他的开源社区看到的一篇分享帖子.这篇文章的目的只是为大家提供一个思路,但是实现成本太高了,因为一个接口设计的接口测试用例很多,一般公司的接口数量几百到上千不等,每一个接口都设计这么多测 ...

  9. (转)接口测试用例设计(详细干货)

    随着测试分析和分层测试的深化,"接口测试"出现在我们视野的频次越来越高.那么接口测的用例设计常用哪些方法呢?本文将详细描述. 1  接口测试 1.1  接口测试 接口:主要是子模块 ...

最新文章

  1. [转]数据可视化:基本图表
  2. qt qtableview 刷新列表_qt qtablewidget 刷新
  3. python教程:有参装饰器
  4. php怎样输出多个空格,【整理】解决php输出时出现多余的空格或者换行
  5. Elasticsearch全量数据增量遍历实现原理
  6. Android修改项目包名
  7. 域服务器批量修改用户密码,Windows域控制器批量创建用户
  8. python findall函数_Python正则表达式
  9. 实现二级菜单的滑动出现与消失(解决dispaly与transition冲突问题)
  10. Mac 下开启系统自带webserver
  11. linux 网络对时
  12. 初中动画flash作品_初中Flash动画设计基础知识试题及答案.doc
  13. 蓝牙耳机厂家主打ANC降噪,迎第一波行业洗牌
  14. 以后再有人问你selenium是什么,你就把这篇文章给他
  15. 电容降压主要是用在直流稳压电源电路里
  16. 延迟发送:4款定时发送短信的应用程序
  17. 阿里云ACA课程之云上安全防护
  18. 【工具】sci-hub:一个神奇的免费下载文献的网站
  19. NYOJ:458-小光棍数
  20. 计算机仿真气垫上的直线运动验报告,在气垫导轨上测加速度的实验报告.doc

热门文章

  1. 最全Spring Boot2.x系列Config配置集成篇-1参数配置
  2. Spring Boot中常见注解诠释
  3. Linux环境Elasticsearch6.xxx 之kibana可视化工具操作索引
  4. Ubuntu中升级Firefox及flash player
  5. 轻量级的 JavaScript 弹出框脚本:TinyBox
  6. SpringCloud Ribbon
  7. Shell脚本IF条件判断和判断条件总结
  8. go语言sleep一纳秒不准的思考--CPU时间片
  9. 【ICCV2019】点云相关论文解析
  10. 【PDF】PDF无法注释的一种解决方案